Javascript 恩戈尼特可以';t更新局部变量
非常简单,我在页面上设置了一个变量,用于在字体端创建一组框。我初始化此变量,如下所示:Javascript 恩戈尼特可以';t更新局部变量,javascript,angular,typescript,Javascript,Angular,Typescript,非常简单,我在页面上设置了一个变量,用于在字体端创建一组框。我初始化此变量,如下所示: organisations: Organisation[]; 然后在ngOnInit中,我从存储器中获取一些数据,然后用这些数据填充这个变量。因此,整个页面如下所示: export class SelectOrganisationPage implements OnInit { organisations: Organisation[]; constructor(private authentic
organisations: Organisation[];
然后在ngOnInit
中,我从存储器中获取一些数据,然后用这些数据填充这个变量。因此,整个页面如下所示:
export class SelectOrganisationPage implements OnInit {
organisations: Organisation[];
constructor(private authentication: AuthenticationService, private storage: Storage) { }
ngOnInit() {
this.storage.get(USER_DETAILS).then(user => {
const parsedUser: User = JSON.parse(user);
parsedUser.organisations.forEach(org => {
if (!org.active) {
return;
}
this.organisations.push(org);
});
});
}
}
organisations: Organisation[] = [];
在线this.organizations.push(org)代码>我得到以下错误:
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'push' of undefined
我不明白为什么它在那一点上看不懂这个。除非我在实际错误上弄错了
这与另一个问题的上下文不同。错误表明组织
未定义,因此必须使用空数组初始化它
试着这样做:
export class SelectOrganisationPage implements OnInit {
organisations: Organisation[];
constructor(private authentication: AuthenticationService, private storage: Storage) { }
ngOnInit() {
this.storage.get(USER_DETAILS).then(user => {
const parsedUser: User = JSON.parse(user);
parsedUser.organisations.forEach(org => {
if (!org.active) {
return;
}
this.organisations.push(org);
});
});
}
}
organisations: Organisation[] = [];
太棒了,是的,完全忘记了那个好的斑点!