РЕДАКТИРОВАТЬ:
Похоже, что ЛЮБОЕ событие вызывает angular для повторного рендеринга компонента (слушатели предка и братья и сестры) ... это намерение разработки позади ngZone и взаимодействия компонента?
оригинал:
У меня есть веб-страница с iframe, выполняющим развертывание в Angular.Страница (родительская для iframe, работающая под углом) выглядит так, как будто она имеет событие щелчка.Кажется, я не могу найти способ не дать этому слушателю заставить NgZone запускать угловые директивы 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()
возвращает подписанный результат this.developmentWafers
getAllWafers(){
return this.developmentWafers;
}
запускается ~ 3 раза для каждого слушателя, когда родительское окно iframe получает событие нажатия
То, что я пытался до того, как прийти к выводу, что проблема от родителя iframe:
e.stopPropagation
e.preventDefault
Я пробовал с точки зрения ngZone, создавая собственный компонент зонирования и изменилвсе события внутри iframe должны быть определены в пределах их собственного NameSpace