最佳答案
我有一个组件,它调用服务从 RESTful 端点获取数据。需要给这个服务一个回调函数,以便在获取所述数据后执行。
问题在于,当我尝试使用回调函数将数据追加到组件变量中的现有数据时,会得到一个 EXCEPTION: TypeError: Cannot read property 'messages' of undefined
。为什么 this
没有定义?
TypeScript 版本: 版本1.8.10
控制器代码:
import {Component} from '@angular/core'
import {ApiService} from '...'
@Component({
...
})
export class MainComponent {
private messages: Array<any>;
constructor(private apiService: ApiService){}
getMessages(){
this.apiService.getMessages(gotMessages);
}
gotMessages(messagesFromApi){
messagesFromApi.forEach((m) => {
this.messages.push(m) // EXCEPTION: TypeError: Cannot read property 'messages' of undefined
})
}
}