我有一个组件,该组件调用服务以从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
})
}
}
tsc -v
)