У мене є компонент, який викликає службу для отримання даних із кінцевої точки 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
)