Angular 4全局变量设置问题

时间:2017-06-11 14:57:25

标签: angular typescript global-variables

我正在尝试在LoginService中设置全局变量,以便将其注入我的DriverService。但是,无论我如何实现全局变量,它总是undefined或空字符串。

我做了一个plunker,所以你可以现场检查:PLUNKER

我尝试使用setValue(this.login = value)和getValue(return this.login)这些东西,现在我尝试使用Subject和BehaviorSubject,但没有成功。

如何在一个服务中设置我的全局变量,以便在其他服务中使用它?

由于

1 个答案:

答案 0 :(得分:4)

服务(一般注册)必须记住的是,如果您想在应用中使用相同的服务实例,则需要将它们添加到providers中的NgModule数组中,这将使该模块中的所有组件都可以使用相同的服务实例。在这种情况下,你当然想要那个!

每个组件中都有providers - 数组,意味着所有组件都有自己的服务实例,这意味着它们根本不共享相同的数据。

所以唯一需要的是从组件中删除providers数组,然后将它们应用到NgModule中:)

您已修复 PLUNKER