[угловой 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
?