Javascript Angular2 rxjs/主题,rxjs/可观察事件在父路由器和子路由器上不工作
我想与应用程序内的组件进行交互/共享数据/相互通信,这些组件有很多子路由(都是基于templateUrl的) 尝试了这么多方法,就像事件发射器-@Output(),对我来说没有任何效果 最后我知道共享服务可以解决这个问题 我在找这样的东西Javascript Angular2 rxjs/主题,rxjs/可观察事件在父路由器和子路由器上不工作,javascript,typescript,angular,Javascript,Typescript,Angular,我想与应用程序内的组件进行交互/共享数据/相互通信,这些组件有很多子路由(都是基于templateUrl的) 尝试了这么多方法,就像事件发射器-@Output(),对我来说没有任何效果 最后我知道共享服务可以解决这个问题 我在找这样的东西 Application >> Global Service Application >> Router 1 Component >> Router 1A CompChild >> Router 1AA App
Application >> Global Service
Application >> Router 1 Component >> Router 1A CompChild >> Router 1AA
Application >> Router 2 Component >> Router 2A CompChild>> Router 2AA
Application >> Router 3 Component >> Router 3A CompChild >> **Route 3AA**
这是参考url:
请帮助我解决此问题确保在根组件上只提供一次
GlobalService
。如果您将它添加到使用它的每个组件的提供程序中,每个组件都会得到它自己的实例,如果一个组件订阅了它的另一个实例,则会在其中发出事件,因此不会得到通知
Angular2 DI为每个提供商维护一个单一实例检查我如何做到这一点,您能给我一个例子吗?我可以从中学到一些东西。请看问题下方评论中的链接。
$.broadcast('event_name',data); // Router 3AAComponent fire/broadcast/emit event
$allComponents.on('event_name',function(){ .... some event actions ....}):
// All child component of application can subscribe to that event