簡體   English   中英

這段代碼如何運行變化檢測angular?

[英]How this piece of code running change detection angular?

ngAfterViewinit(){ 
var f=function(){
      this.a="changing val"
    }
    document.getElementById('d').addEventListener('click',f.bind(this));
}

angular 如何在此點擊事件上運行更改檢測和更新視圖? 據我所知,更改檢測在 angular 上下文中工作,區域封裝事件並運行更改。

在這個我使用本地 dom 事件; 如果我們使用 angularjs,我們必須手動運行摘要循環,但是 angular 是如何知道即使點擊事件在上下文之外的?

您在 Angular 代碼中注冊的每個回調都會被區域捕獲,然后 Angular 會收到通知以觸發更改檢測。 區域通過猴子修補原生 DOM 方法來工作,在本例中為addEventListener 這個方法在這一點上不再是原生瀏覽器方法,而是 zone.js 的替代品,它讓你做你想做的事,但之后會通知 Angular。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM