Eu tenho um componente que chama um serviço para buscar dados de um ponto de extremidade RESTful. Este serviço precisa receber uma função de retorno de chamada para ser executado após a busca dos dados.
O problema é que, quando tento usar a função de retorno de chamada para acrescentar os dados aos dados existentes na variável de um componente, obtenho um EXCEPTION: TypeError: Cannot read property 'messages' of undefined
. Por que está this
indefinido?
Versão TypeScript: Versão 1.8.10
Código do controlador:
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
)