«This» компонента Angular2 не определено при выполнении функции обратного вызова
У меня есть компонент, который вызывает сервис для извлечения данных из конечной точки 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
})
}
}