Angular 在构造函数中给定值后未定义的变量?
我在访问构造函数中使用的变量时遇到问题。您可以看到,currentLang获取值,并且值也在构造函数之外,但是当流转到Angular 在构造函数中给定值后未定义的变量?,angular,typescript,Angular,Typescript,我在访问构造函数中使用的变量时遇到问题。您可以看到,currentLang获取值,并且值也在构造函数之外,但是当流转到displayIndustries函数/方法为未定义时,此变量的作用域是否出错因为我尝试使用布尔值,现在字符串仍然未定义您没有在构造函数中使用变量。您正在订阅回调中使用它,该回调在构造函数调用之后/期间异步调用。要防止未定义currentLang,可以对其进行初始化 currentLang = '' constructor( private fb: For
displayIndustries
函数/方法为未定义时,此变量的作用域是否出错因为我尝试使用布尔值
,现在字符串仍然未定义
您没有在构造函数中使用变量。您正在订阅回调中使用它,该回调在构造函数调用之后/期间异步调用。要防止未定义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;
}
(我还使您的代码简洁)看看代码,一切似乎都很好。你能在Stackblitz之类的东西上重现这个吗?你有没有声明currentLang
在类内,在构造函数之外行业是未定义的,而不是这个.currentLang
在控制台.log(JSON.stringify(this.currentLang))中将.currentLang
赋值给lang
后得到了什么
您是否在其他任何地方调用displayIndustries
?