J'ai un composant qui appelle un service pour récupérer des données à partir d'un point de terminaison RESTful. Ce service doit recevoir une fonction de rappel à exécuter après avoir récupéré lesdites données.
Le problème est que lorsque j'essaie d'utiliser la fonction de rappel pour ajouter les données aux données existantes dans la variable d'un composant, j'obtiens un EXCEPTION: TypeError: Cannot read property 'messages' of undefined
. Pourquoi est this
indéfini?
Version TypeScript: Version 1.8.10
Code contrôleur:
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
)