Вы не должны использовать EventEmitter внутри канала.Они используются исключительно для декоратора @Ouput()
в директивах и компонентах.Кроме того, вызов .subscribe
возвращает Subscription
.Это не наблюдаемое, а подписка на наблюдаемое.
EventEmitter
- это то, что расширяет Observable, поэтому я предполагаю, что вы хотите, чтобы код был таким:
readonly onTranslationChange = this.translate.onTranslationChange.pipe(
tap((event: TranslationChangeEvent) => {
if (this.lastKey && event.lang === this.translate.currentLang) {
this.lastKey = null;
this.updateValue(query);
}
})
);
Если это не так, и вы просто хотите сохранить подписку, измените ее на:
onTranslationChange: Subscription;