0
import {TranslateService, LangChangeEvent} from "@ngx-translate/core";
class ExportLanguageFun {
public currentLang : string;
constructor(private translate : TranslateService) {
}
public static setValue(): string {
this.translate
.onLangChange
.subscribe(lang => {
this.currentLang = lang;
})
return this.currentLang;
}
}
export let exportLanguage = ExportLanguageFun.setValue(); //エラー: 'setValue'プロパティが 'typeof ExportLanguageFun'型に存在しません。クラスからの角度2タイプの書き出し値
予想される出力 console.log(let "someValue");
observableを使用しています。この値は、this.currentLangにlangの値を割り当てる新しい値を監視します。 observableの外でthis.currentLangを返します。 javascriptは非同期で実行されるため、更新する前にthis.currentLangが新しい値を持つのを待つ必要はありません。ここで何を達成しようとしていますか? – Notmfb
はい私は観察可能なものを使用しています。私はAPIから来てthis.currentLangに値を設定しようとしています。 this.currentLangの値を返す必要があります。 – rebello
右の値は、購読関数外では返すことができません。それは動作しません。一般に、更新するたびに 'lang'変数を使って何かをするので、おそらくこれを返すのは、setValue()を呼び出してデータにアクセスしようとするたびに、再登録する。これは記憶を食うでしょう。私は助けるかもしれない以下の答えを書いています。 – Notmfb