我在访问在构造函数this.currentLang
中使用的变量时遇到了麻烦,因为您可以看到它采用了值,并且该值也在构造函数之外,但是当流程进入{{1}时}函数/方法是displayIndustries
,在此变量的范围内有任何问题,原因是我尝试使用undefined
,现在仍然使用字符串boolean
。
undefined
仅编辑注释中的代码库,但仍然无法正常工作。
答案 0 :(得分:0)
您没有在构造函数中使用变量。您正在预订回调中使用它,该回调在构造函数调用之后/期间被异步调用。为防止未定义currentLang
,可以对其进行初始化。
currentLang = ''
constructor(
private fb: FormBuilder,
private langService: LangService ,
private translate: TranslateService
) {
this.langService.currentLang.subscribe((lang) => {
this.currentLang = lang;
this.showCurrentLang = this.currentLang === 'en';
if (this.AfterDisplayIndustries) {
this.displayIndustries();
}
});
}
displayIndustries (industry?: IIndustry) {
this.AfterDisplayIndustries = true;
return (this.currentLang === 'en' && industry) ? industry.name : industry.nameCZ;
}
(我也简化了您的代码)