Родительские слушатели запускают рендеринг Angular 2 iframe - PullRequest
0 голосов
/ 05 февраля 2019

РЕДАКТИРОВАТЬ:

Похоже, что ЛЮБОЕ событие вызывает 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 ofgetAllWafers()'>, где getAllWafers() возвращает подписанный результат this.developmentWafers


getAllWafers(){
        return this.developmentWafers;
    }

запускается ~ 3 раза для каждого слушателя, когда родительское окно iframe получает событие нажатия


То, что я пытался до того, как прийти к выводу, что проблема от родителя iframe:

e.stopPropagation e.preventDefault Я пробовал с точки зрения ngZone, создавая собственный компонент зонирования и изменилвсе события внутри iframe должны быть определены в пределах их собственного NameSpace

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...