在Angular 2中,Event Emitter和Subject宣布活动有什么区别?似乎事件发射器的声明不那么复杂…… Angular 2首选哪种方式?
dataRefreshEvent = new EventEmitter(); private companyDataAnnouncedSource = new Subject(); companyDataAnnouncedSource$= this.companyDataAnnouncedSource.asObservable();
没有太大区别. EventEmitter扩展了Subject.
Angular2团队强调了这样一个事实,即EventEmitter不应该用于组件和指令中的@Output()之外的任何其他东西.
Angular团队has stated,他们可能会改变EventEmitter的底层实现,并破坏使用EventEmitter的用户代码,而不是用于它的目的.这是主要的区别.