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
)