我正在尝试在LoginService
中设置全局变量,以便将其注入我的DriverService
。但是,无论我如何实现全局变量,它总是undefined
或空字符串。
我做了一个plunker,所以你可以现场检查:PLUNKER
我尝试使用setValue(this.login = value
)和getValue(return this.login
)这些东西,现在我尝试使用Subject和BehaviorSubject,但没有成功。
如何在一个服务中设置我的全局变量,以便在其他服务中使用它?
由于
答案 0 :(得分:4)
服务(一般注册)必须记住的是,如果您想在应用中使用相同的服务实例,则需要将它们添加到providers
中的NgModule
数组中,这将使该模块中的所有组件都可以使用相同的服务实例。在这种情况下,你当然想要那个!
每个组件中都有providers
- 数组,意味着所有组件都有自己的服务实例,这意味着它们根本不共享相同的数据。
所以唯一需要的是从组件中删除providers
数组,然后将它们应用到NgModule
中:)
您已修复 PLUNKER 。