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接受吗?