gpt4 book ai didi

Angular 2 Universal - 存储全局变量

转载 作者:行者123 更新时间:2023-12-04 04:34:33 24 4
gpt4 key购买 nike

我正在尝试将我的 AngularJS 应用程序转换为 Angular 2 通用应用程序(因为服务器端渲染)。

https://github.com/angular/universal-starter

现在我需要存储全局变量,这可以在普通的 Angular 2 应用程序中轻松实现(根据以下链接)。

Angular 2 global variable

Angular 2 - Whats the best way to store global variables like authentication token so all classes have access to them?

要在普通的 Angular 2 应用程序中实现这一点,您必须做的一件事是将您的全局服务传递给 Bootstrap 。

我不认为你可以在 Angular 2 通用应用程序中做到这一点,除非我遗漏了什么。

我想存储用户数据并在应用程序中使用它。就像asp.net中的Session数据一样。而且这需要在不制作父子组件的情况下完成

如何在 Angular 2 通用应用程序中存储全局变量?

谢谢法赫德穆拉吉

最佳答案

这是使用我在 https://stackoverflow.com/a/39031152/1810391 上回答的方法 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';
}

关于Angular 2 Universal - 存储全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39552388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com