Как этот кусок кода работает изменение обнаружения угловой? - PullRequest
1 голос
/ 08 октября 2019
ngAfterViewinit(){ 
var f=function(){
      this.a="changing val"
    }
    document.getElementById('d').addEventListener('click',f.bind(this));
}

Каким образом обнаружение и обновление изменения углового хода для этого события щелчка? Насколько я знаю, обнаружение изменений работает в угловом контексте, зонально инкапсулирует события и запускает изменения.

В этом я использую родное событие dom;если бы мы использовали angularjs, нам пришлось бы вручную запускать цикл дайджеста, но вот как angular узнает, даже если событие click находится вне контекста?

1 Ответ

0 голосов
/ 08 октября 2019

Каждый обратный вызов, который вы регистрируете в Angular-коде, перехватывается Зоной, и Angular впоследствии получает уведомление об обнаружении изменений. Зоны работают, исправляя собственные методы DOM, в данном случае addEventListener. Этот метод на данный момент уже не является родным методом браузера, а заменяет zone.js, который позволяет вам делать то, что вы хотели, но затем сообщает Angular.

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