AngularJS的數(shù)據(jù)雙向綁定是怎么實(shí)現(xiàn)的
1 回答

米琪卡哇伊
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
angular并不存在定時(shí)臟檢測(cè)。
angular對(duì)常用的dom事件,xhr事件等做了封裝, 在里面觸發(fā)進(jìn)入angular的digest流程。
在digest流程里面, 會(huì)從rootscope開始遍歷, 檢查所有的watcher。
angular性能優(yōu)化心得
談起angular的臟檢查機(jī)制(dirty-checking), 常見的誤解就是認(rèn)為: ng是定時(shí)輪詢?nèi)z查model是否變更。
其實(shí),ng只有在指定事件觸發(fā)后,才進(jìn)入$digest cycle:
DOM事件,譬如用戶輸入文本,點(diǎn)擊按鈕等。(ng-click)
XHR響應(yīng)事件 ($http)
瀏覽器Location變更事件 ($location)
Timer事件($timeout, $interval)
執(zhí)行$digest()或$apply()
- 1 回答
- 0 關(guān)注
- 556 瀏覽
添加回答
舉報(bào)
0/150
提交
取消