繁体   English   中英

Angular2 rxjs / Subject,rxjs / Observable事件在父子路由器之间不起作用

[英]Angular2 rxjs/Subject , rxjs/Observable events not working across the parent and child router

我想与应用程序内部的组件进行交互/共享数据/相互通信,这些组件具有太多子路由(都基于templateUrl)

尝试了很多方法,就像事件发射器-@Output()一样,没有任何方法适合我。

最后,我知道共享服务可以解决此问题。

我正在寻找这样的东西

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**
$.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

这是参考网址: http : //blog.lacolaco.net/post/event-broadcasting-in-angular-2/

请帮我解决这个问题

确保在根组件处仅提供一次GlobalService 如果将其添加到使用该组件的每个组件的提供程序中,则每个组件都会获得其自己的实例,如果订阅了一个不同的实例,则会发出事件,因此不会收到通知。

Angular2 DI为每个提供程序维护一个实例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM