如何在角度2中的组件之间共享数据?
在角1.x.x中,您只需请求相同的服务,最终得到相同的实例,从而可以共享服务中的数据。
在角度2中,我有一个组件,它引用了我的服务。我可以读取和修改服务中的数据,这是很好的。当我试图在另一个组件中注入相同的服务时,我似乎得到了一个新实例。
我做错什么了?是模式本身是错误的(使用服务共享数据),还是需要将服务标记为单例(应用程序的一个实例内)或其他什么?
我上了2.0.0-alpha.27/
顺便说一句
我通过appInjector
(编辑:现在providers
)在@Component
注释,然后在构造函数中保存引用。它在组件中本地工作-只是不像我想的那样跨组件(它们不共享相同的服务实例)。
更新:从角2.0.0开始,我们现在有@ngModule,您将在providers
财产上说@ngModule
..这将确保将该服务的相同实例传递给该模块中的每个组件、服务等。https:/angular.io/docs/ts/最新/Guide/ngmodule.html#Providers