0
我必須與使用iframe的供應商進行集成。 JS監聽由iframe發出的事件。在我的角度component.ts我:將範圍從窗口更改爲角度視圖
ngOnInit() {
let listener = window.addEventListener ? "addEventListener" : "attachEvent";
let listen = window[listener];
let messageEvent = listener == "attachEvent" ? "onmessage" : "message";
listen(messageEvent, function(e) {
if (e.origin == 'someURL') {
console.log(e.data)
this.doStuff(e.data);
}
}, false);
}
doStuff(data){
//do stuff
}
的問題是,當this.processMessage()被調用我得到一個錯誤:
ERROR TypeError: this.processMessage is not a function
我知道這是因爲該範圍的範圍問題'這'現在是窗口。處理這種情況的最佳方法是什麼?
是
let that = this
外的聽()與ES6接受嗎?