Angular 2:无法读取未定义的属性'push'

Nac*_*ene 3 arrays angularjs angular

在我的Angular 2应用程序中,我有一个功能:

notification : Array<any>;
......
......
 getNotification () {
     return setTimeout(() => {
         this.AppbankService.notify(this.user.NameId)
     .subscribe(
         (response) => {
             if (response.status === 200) {
             this.notifications.push(response.json());
             console.log(typeof(this.notifications));
              }
             this.getNotification();
         }
     )
     },5000)}
Run Code Online (Sandbox Code Playgroud)

在这个函数中,我每5秒从服务器收到一次通知,并尝试将它们推送到一个数组,但是有一个:

错误app.module.ts:104错误:TypeError:无法读取未定义的属性'push'(...)

有什么建议吗?

Gün*_*uer 11

更改

notification : Array<any>;
Run Code Online (Sandbox Code Playgroud)

notification : Array<any> = [];
Run Code Online (Sandbox Code Playgroud)

  • 不,type仅指定可以在此属性中存储哪种值,但它尚未保留值.使用`= []`我们用一个带有`.push()`方法的空数组初始化它. (2认同)