簡體   English   中英

ngx-translate:檢測語言變化的事件(Angular)

[英]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);
      });
    }

翻譯服務 API

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM