[英]How AngularDart 4-5 change detection is different from Angular 5 change detection?
[英]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.