我在Angular2中有一个组件,它正在改变服务translate.service.ts中的“lang”类变量。在另一个组件中,我使用init中的翻译来获取字典。如果第一个组件稍后更改了服务语言,我想要自动在第二个组件中重新获取该词典。我怎么做?Angular2检测服务中的变化
第一部分:
setLang(lang) {
this._translateService.setLang(lang);
}
服务:
dict = { "en": {}};
lang = "en";
setLang(lang) {
this.lang = lang;
}
getLang() {
return this.dict;
}
第二部分:
ngOnInit() {
this.dict = this._translateService.getDict();
}
在服务中,你是修改'dict'还是替换它?如果只修改它,第二个组件会自动获取/查看更改,因为它具有对'dict'对象的引用(不是副本)。 –