真的很简单,我在页面上设置了一个变量,用于在字体末端创建一堆盒子。我像这样初始化该变量:
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);
});
});
}
}
在this.organisations.push(org);
行上,出现以下错误:
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'push' of undefined
我不明白为什么此时无法读取this.organisations
。除非我对实际错误有误?
从上下文上讲,这与另一个问题不同。
答案 0 :(得分:4)
该错误表明organisations
未定义,因此您必须使用一个空数组对其进行初始化。
尝试这样:
organisations: Organisation[] = [];