编辑:
看起来像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中进行作用域