gpt4 book ai didi

javascript - Angular2 rxjs/Subject 、 rxjs/Observable 事件无法跨父路由器和子路由器工作

转载 作者:行者123 更新时间:2023-12-03 06:40:24 25 4
gpt4 key购买 nike

我想与应用程序内的组件进行交互/共享数据/通信,这些组件有很多子路由(全部都是基于 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 为每个提供商维护一个单个实例

关于javascript - Angular2 rxjs/Subject 、 rxjs/Observable 事件无法跨父路由器和子路由器工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37985887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com