父级监听器触发Angular 2 iframe重新渲染

时间:2019-02-05 02:35:11

标签: angular iframe event-handling

编辑:

看起来像ANY事件正在导致angular重新渲染组件(祖先侦听器和同级组件)...这是ngZone和组件交互背后的设计意图吗?


原始:

我有一个网页,其中有一个运行Angular部署的iframe。 该页面(对于iframe的运行角度而言是父页面)看起来像是一个单击事件。我似乎找不到一种方法来防止此侦听器导致NgZone触发每次父事件触发时对angular的ng指令进行评估。

pageLoad -> 
iframeLoad -> 
routing within angular works fine -> 
component renders -> 
clickEvent (within component DOM elements) causes subscribed/observables to re-evaluate.

关于角度代码:

我要退出服务private developmentService: RestService

onInit()订阅服务调用.subscribe(response => this.developmentWafers = response);

然后我使用循环<ng-container *ngFor='let wafer of getAllWafers() '>,其中getAllWafers()返回已订阅结果{{1 }}


this.developmentWafers

当iframe父窗口获得点击事件时,每个监听器会运行〜3次


在得出结论该问题来自iframe父级之前,我已经尝试过:

getAllWafers(){ return this.developmentWafers; } e.stopPropagation 我从ngZone的角度尝试过,通过构建自定义分区组件,并将iframe中的所有事件更改为在其自己的NameSpace中进行作用域

0 个答案:

没有答案