【发布时间】:2018-11-11 20:20:42
【问题描述】:
我在 Angular 服务中使用 EventEmitter 和 @Output,今天一位同事提到这不是一个好习惯。
我发现这个post 提到这是一种不好的做法,而且似乎主要是个人意见,而这个answer 提到可以使用它。 我找不到任何关于它的官方文档,所以如果有人知道它的官方答案,请发布。
关于EventEmittter的官方文档
【问题讨论】:
-
在 Angular 服务中,你最好只使用
subject我会想到的。当然,我什至看不到在服务中添加@Output的好处 -
输入和输出应该用于绑定到组件的属性/事件(从 HTML 定位它们),而不是在服务中。如上所述,最好有一个可以通过 get 函数或其他东西检索的主题或可观察对象。
-
我想知道为什么我的问题得到了反对票和接近票,而几乎相同的问题得到了 132 票赞成stackoverflow.com/questions/36076700/…
-
这是不常见的,因为首选普通主题。 EventEmitter 是一个增强的 Subject,所以它可以工作,但是为什么要把事情复杂化呢?
-
@bc1105 谢谢,与
BehaviorSubject和Subject相比,使用@output更简单、更简洁
标签: javascript angular observable angular2-services eventemitter