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'。
上不存在预期产出 的console.log(让+" someValue中&#34);
答案 0 :(得分:0)
你应该在这里重新考虑你的结构。你想要在这里返回的是来自observable内部的lang。你需要重新调整你在这里做的事情。
public static setValue(): string {
return this.translate.onLangChange
}
然后当你调用该函数时,你可以订阅它并在那里做一些事情。
this.setValue().subscribe(lang => {
this.currentLang = lang;
// do something else with it
})
通过订阅,每次有新值时,该函数都会运行。无论你在哪里订阅它,都不需要尝试返回值,只需对每个更改执行一些操作。