1. 程式人生 > >angular臟檢查機制

angular臟檢查機制

iges 循環 dom元素 最新 通過 當前 spp 視圖 watch

  機制:

    是angular中雙向數據綁定的原理,是通過一個原先的舊值和當前的新值作比較是否相等,如果相等則不會觸發臟檢查機制,如果不相等則會觸發臟檢查機制,$$watcher進行監聽,觸發新老值的替換。

    在angular的程序中,一個以{{}}或者指令綁定的視圖,就會在此綁定的視圖上有一個$watch事件,將數據中最新的值呈現在界面上,所有的watch儲存在$$warcher中,一次臟檢查就是調用已從$spply()或者$digest(),遍歷檢查所有watch,將數據中最新值呈現在桌面上。

  

    $$watcher:是監聽或者是$apply()和$digest()之間的通訊橋梁

    $apply()是監聽數據變化的方法

    $digest()是執行更改改變後的數據

  性能:  

    臟檢查機制會造成性能的浪費,消耗性能,但是不會浪費多的是,angular中ng-if,表達式,多層過濾器(需要循環處理),直接操作DOM元素等會造成程序的性能的大量浪費

angular臟檢查機制