【发布时间】:2017-06-26 10:16:35
【问题描述】:
[角度 2.4.5]
我试过了,它似乎像 EventEmitter 一样工作:
-
我的外部组件:
<split (visibleTransitionEnd)="log($event)"></split> -
组件内部:
@Output() visibleTransitionEnd: Observable<string> observer: Observer; constructor() { const myObs = new Observable(observer => this.observer = observer); this.visibleTransitionEnd = myObs .map(x => '> ' + x + ' <') .debounceTime(20) .do(() => console.log('here we are!')); } -
然后我可以调用内部组件:
// needed condition because if nobody subscribe 'visibleTransitionEnd' > no observer! if(this.observer) this.observer.next('test');
我喜欢这个,因为我的组件中没有订阅。
但这是实现这一目标的坏方法吗?有什么风险/错误?
使用Subject 更好吗?
【问题讨论】:
标签: angular rxjs eventemitter