寫在開頭
關于Angular臟檢查,之前沒有仔細學習,只是旁聽道說,Angular 會定時的進行周期性數據檢查,將前臺和后臺數據進行比較,所以非常損耗性能。
這是大錯而特錯的。我甚至在新浪前端面試的時候胡說一通,現(xiàn)在想來真是羞愧難當! 沒有深入了解就信口開河實在難堪大任。
最后被拒也是理所當然。
在剖析之前,非常感謝坐鎮(zhèn)蘇寧的徐飛,現(xiàn)在已經不在蘇寧了,我也是在他翻譯的文章(Build Your own AngularJS)和博客才略懂一二。
徐飛關于知乎問題國內前端團隊分布和前景是怎樣的?的回答也是特別有意思。
誤區(qū)糾正
首先糾正誤區(qū),Angular并不是周期性觸發(fā)藏檢查。
只有當UI事件,ajax請求或者 timeout 延遲事件,才會觸發(fā)臟檢查。
為什么叫臟檢查? 對臟數據的檢查就是臟檢查,比較UI和后臺的數據是否一致!
下面解釋:
$watch 對象。
Angular 每一個綁定到UI的數