Ответ 1
Редактировать:
После Марк комментарий, Subject
/Observable
следует предпочесть:
EventEmitter должен использоваться только для генерации пользовательских Событий в компонентах, и что мы должны использовать Rx для других наблюдаемых/событийных сценариев.
Оригинальный ответ:
Вы должны использовать EventEmitter
в сервисе:
export class LangService {
langUpdated:EventEmitter = new EventEmitter();
setLang(lang) {
this.lang = lang;
this.langUpdated.emit(this.lang);
}
getLang() {
return this.dict;
}
}
Компоненты могут подписаться на это событие, чтобы получать уведомления при обновлении свойства lang
.
export class MyComponent {
constructor(private _translateService:LangService) {
}
ngOnInit() {
this._translateService.langUpdated.subscribe(
(lang) => {
this.dict = this._translateService.getDict();
}
);
}
}
Смотрите этот вопрос для более подробной информации: