![](/img/trans.png)
[英]Angular: Ngx-Translate Translate Service not changing language dynamically
[英]ngx-translate: Event to detect changing language (Angular)
我想使用ngx-translate庫檢測“當前語言”的切換。
我可以使用哪個 js 事件來實現?
為了更好地理解我的意思,請檢查這個簡單的例子: https ://stackblitz.com/edit/github-yvbmgu
我想在 ngOnInit() 上從“diff”組件檢測 currentLang 的變化。
您還可以使用 Angular 自己的 BehaviorSubject 來檢測語言變化。 通過這種方式:
在通用服務中編寫此代碼:
public langObsevable: BehaviorSubject<string> = new
BehaviorSubject<string>(null);
public onLanguageChanged(lang:string){
this.langObsevable.next(lang);
}
現在您可以通過訂閱在其他組件中應用語言更改,如下所示
this.generalService.langObsevable.subscribe(res => {
translate.use(res);
});
你可以訂閱 TranslateService 的onLangChange
observable 來監聽語言變化事件。
ngOnInit() {
console.log(this.translate.currentLang);
this.translate.onLangChange.subscribe((event: LangChangeEvent) => {
console.log(event.lang);
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.