【发布时间】:2016-11-30 13:13:23
【问题描述】:
有没有办法在 angular2 中发出可以在整个应用程序中收听的事件?就像我们在 AngularJS 中使用 $rootScope.broadcast 和 emit 一样。可以在angular2中实现同样的事情吗?我阅读了@Output() 和EventEmitter() 并实现了它,但它只限制了父母收听孩子发出的事件。
我读到BehaviorSubject 是实现此目的的方法之一。这是正确的方法吗?还有其他解决方案吗?
【问题讨论】:
-
使用 observables 似乎是一个不错的选择:stackoverflow.com/questions/34376854/…
-
你可以添加一个 observable 到你的父级,当子级发射时设置它。然后你可以在任何你想要的地方订阅那个 observable。
标签: angular observable angular2-services eventemitter behaviorsubject