dispatchEvent在边缘上不起作用

时间:2018-08-10 06:12:23

标签: javascript angular typescript microsoft-edge

在我的角度应用程序中,我必须打开一个新窗口并将一个事件发送回控制器。该代码在Chrome和Firefox上有效,但在 Edge

上不起作用

下面是外部文件中的代码

try {
   var ev = new Event('abc');
   ev['data'] = model;
   window.opener.dispatchEvent(ev);
} catch (e) {
    alert(e);
}

在外部窗口中,我收到警报 ERROR:无效的参数。

在角度分量中我有听众

@HostListener('window:abc', ['$event'])

无法从其他答案中获得太多信息。

请指导 谢谢

1 个答案:

答案 0 :(得分:0)

问题不是与disptachEvent有关,这是因为子窗口丢失了从其打开父窗口组件的范围。 为了解决这个问题,我从thread找到了解决方案。

在打开子窗口之前,我们必须设置angularComponentRef的引用

window['angularComponentRef'] = {component: this, zone: _ngZone};