Angular TranslateService.use()工作时间的一半(ngx translate)
我的应用程序通过一些本地化模块内部的可观察性从后端检索有关本地化的信息Angular TranslateService.use()工作时间的一半(ngx translate),angular,internationalization,observable,translation,ngx-translate,Angular,Internationalization,Observable,Translation,Ngx Translate,我的应用程序通过一些本地化模块内部的可观察性从后端检索有关本地化的信息 constructor(translate: TranslateService){ locale.subscribe(fetched_lang => translate.use(fetched_lang) ); } 问题是,可以在根组件init之前和之后检索语言。 在第一种情况下,代码可以正常工作,但在第二种情况下,translate.use()不更新翻译,但根据网络,devtools获取带有翻译的j
constructor(translate: TranslateService){
locale.subscribe(fetched_lang =>
translate.use(fetched_lang)
);
}
问题是,可以在根组件init之前和之后检索语言。
在第一种情况下,代码可以正常工作,但在第二种情况下,translate.use()
不更新翻译,但根据网络,devtools获取带有翻译的json
之后,我尝试用simple手动切换不同的语言
<button (click)="translate.use(other_lang)"></button>
当我点击按钮时,首先快速显示了来自fetched_language
的翻译,然后切换到other_language
问题是:如何在检索语言后立即更改翻译?答案是(可能)NgZone没有检测到异步数据流。这就是为什么您需要将translate.use()
放在NgZone.run()中的原因