Angular 2 通用 - 存储全局变量
Angular 2 Universal - Store Global Variables
我正在尝试将我的 AngularJS 应用程序转换为 Angular 2 通用应用程序(因为服务器端渲染)。
https://github.com/angular/universal-starter
现在我需要存储全局变量,这可以在普通 Angular 2 个应用程序(按以下链接)中轻松实现。
要在正常情况下实现这一点,您必须做的一件事 angular 2 应用程序是将您的全球服务传递给 bootstrap。
我不认为你可以在 Angular 2 通用应用程序中做到这一点,除非我遗漏了什么。
我想存储用户数据并在应用程序中使用它。就像 asp.net 中的 Session 数据一样。而且这需要在不制作父子组件的情况下完成
如何在 Angular 2 Universal App 中存储全局变量?
谢谢
法赫德·穆拉吉
这是使用我在
中回答的方法 1 的另一种方法
要共享通用数据结构,只需在所有组件中使用硬编码索引,如 global
。
globaldata.service.ts
import { Injectable } from '@angular/core';
interface ShareObj {
[id: string]: any;
}
@Injectable()
export class GlobalDataService {
shareObj: ShareObj = {};
}
app.module.ts(假设这是你的根模块)
import { GlobalDataService } from './globaldata.service';
//
// skip ..
//
@NgModule({
//
// skip ..
//
provider:[GlobalDataService]
})
export class AppModule {}
any.component.ts
code:
import { GlobalDataService } from './globaldata.service';
//
// skip ..
//
constructor(private gd: GlobalDataService){
// This can be string, array or object
this.gd.shareObj['global']='data';
}
我正在尝试将我的 AngularJS 应用程序转换为 Angular 2 通用应用程序(因为服务器端渲染)。
https://github.com/angular/universal-starter
现在我需要存储全局变量,这可以在普通 Angular 2 个应用程序(按以下链接)中轻松实现。
要在正常情况下实现这一点,您必须做的一件事 angular 2 应用程序是将您的全球服务传递给 bootstrap。
我不认为你可以在 Angular 2 通用应用程序中做到这一点,除非我遗漏了什么。
我想存储用户数据并在应用程序中使用它。就像 asp.net 中的 Session 数据一样。而且这需要在不制作父子组件的情况下完成
如何在 Angular 2 Universal App 中存储全局变量?
谢谢 法赫德·穆拉吉
这是使用我在
要共享通用数据结构,只需在所有组件中使用硬编码索引,如 global
。
globaldata.service.ts
import { Injectable } from '@angular/core';
interface ShareObj {
[id: string]: any;
}
@Injectable()
export class GlobalDataService {
shareObj: ShareObj = {};
}
app.module.ts(假设这是你的根模块)
import { GlobalDataService } from './globaldata.service';
//
// skip ..
//
@NgModule({
//
// skip ..
//
provider:[GlobalDataService]
})
export class AppModule {}
any.component.ts
code:
import { GlobalDataService } from './globaldata.service';
//
// skip ..
//
constructor(private gd: GlobalDataService){
// This can be string, array or object
this.gd.shareObj['global']='data';
}