绑定到@Output Observable而不是回调?

Lod*_*rds 16 rxjs angular

我有一个滑块组件,当您拖动滑块时会发出数字,这样就可以使用:<my-slider (change)="onSlide($event)"></my-slider>.我想摆脱该onSlide方法,而是将change事件流绑定到Observable<number>属性(而不是回调).

我使用的是2角EventEmitter@Output.EventEmitter继承自RxJs Subject,它是一个Observable和一个Observer.我想重用Observable一边的EventEmitter.

当然,我可以将输入的值推onSlide送到另一个Subject,但我希望防止这个样板和开销.有办法吗?

Val*_*nov 1

Angular 1 和 Angular 2 的核心区别之一是变化检测总是从上到下执行。这使得性能变得更好。此外,也不需要像 Angular 1 中那样执行“稳定”($digest 循环)。

EventEmitter在 Angular 2 中,除了使用/发出事件之外,您无法以其他方式“推送”更改,Subject因此 Angular 2 可以开始检查组件的更改检测器。

这是关于这个主题的好文章。