«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
        })
    }
}

Ответы на вопрос(4)

Ваш ответ на вопрос