當我嘗試使用第1類中的sendUserMessage()
時,出現content
未定義的錯誤。我知道它與this
有關,但我無法找到適合我情況的答案。Typescript參考權限在回調中
第1類:
@ViewChild(Content) content: Content;
sendUserMessage(message) {
this.class2object.sendMessageToBackend(message,this.createMessage);
}
createMessage(jsonMessage) {
this.content.scrollToBottom(300);
}
2類:
sendMessageToBackend(ChatMessage: string, handler: Function) {
//build requests
var response: string;
var time = new Date().getTime();
var json = JSON.stringify({ message: ChatMessage, sessionID: "", timestamp: time });
var headers = new Headers();
headers.append("Content-Type", 'application/json');
// send request
this.http.post('http:somethhing.smth',
json, {
headers: headers
}).subscribe(data => {
response = JSON.parse(JSON.stringify(data.text()));
handler(response);
},
() => console.log("error")
);
}
注:此處的方法是簡化了更好的理解。
我得到的錯誤EXCEPTION: Cannot read property 'content' of undefined
我知道,一個解決辦法是在2級移動方法1類,但我真的盡力避免這種情況。
在'createMessage'內使用'console.log(this.content)'並檢查它是否爲空。 –