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[] = [];

太棒了,是的,完全忘记了那个好的斑点!