[कोणीय 2.4.5]कोणीय घटक: क्या मैं एक ऑब्जर्जेबल के बजाय EventEmitter को @Output() प्रॉपर्टी के रूप में उपयोग कर सकता हूं?
मैंने कोशिश की और यह एक 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
का उपयोग करना बेहतर है?
thx, मैंने अपने प्लंकर को उत्तर के बाद अपडेट किया है और यह 'asbservable 'ऑपरेटर को जोड़ने के बिना' विषय 'के साथ अच्छी तरह से काम करता है, आपने इसे क्यों जोड़ा? – bertrandg
@bertrandg http://stackoverflow.com/questions/39703167/changes-in-observable-not-reflected-in-view/39721493#39721493 और https://github.com/Reactive-Extensions/RxJS/blob/ देखें मास्टर/doc/API/कोर/ऑपरेटरों/asobservable.md – martin