Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dispatchEvent在边缘上不工作_Javascript_Angular_Typescript_Microsoft Edge - Fatal编程技术网

Javascript dispatchEvent在边缘上不工作

Javascript dispatchEvent在边缘上不工作,javascript,angular,typescript,microsoft-edge,Javascript,Angular,Typescript,Microsoft Edge,在angular应用程序中,我必须打开一个新窗口,并将事件发送回控制器。该代码在Chrome和Firefox上运行,但在Edge上不运行 下面是来自外部文件的代码 try { var ev = new Event('abc'); ev['data'] = model; window.opener.dispatchEvent(ev); } catch (e) { alert(e); } 在外部窗口中,我收到警报错误:无效参数。 在角度分量中,我有监听器 @HostLis

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

下面是来自外部文件的代码

try {
   var ev = new Event('abc');
   ev['data'] = model;
   window.opener.dispatchEvent(ev);
} catch (e) {
    alert(e);
}
在外部窗口中,我收到警报错误:无效参数。

在角度分量中,我有监听器

@HostListener('window:abc', ['$event'])
无法从其他答案中获取更多信息

请引导
谢谢

问题不在于DispatachEvent。这是因为子窗口正在丢失打开它的父角度组件的范围。 为了解决这个问题,我从中找到了解决办法

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

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

可能重复:在那里尝试了答案,但仍然显示无效参数。。什么可能无效。您正在创建自定义事件吗?@Chellappan:yes自定义事件。我尝试了var ev=new CustomEvent('socialSuccess');以及
var myObj={foo:“bar”};var事件=新事件(“事件名称”);event.data=myObj;部门调度事件(事件)将此作为参考并检查。