區別:1、angular髒值偵測原理上支援低階IE,理論上相容性較好;vue資料劫持需要支援ES5的瀏覽器。 2.angular髒值偵測適合大數據量的更新;vue資料劫持適合小資料量的更新。
實作資料綁定的做法大致有以下幾種:
#發佈者-訂閱者模式(backbone.js)
髒值檢查(angular.js)
資料劫持(vue.js)
angular中的髒值偵測
angular.js 是透過髒值偵測的方式比對資料是否有變更,來決定是否更新視圖,最簡單的方式就是透過setInterval() 定時輪詢偵測資料變動,當然Google不會這麼low,angular只有在指定的事件觸發時進入髒值檢測,大致如下:
#DOM事件,譬如用戶輸入文本,點擊按鈕等。 ( ng-click )
XHR回應事件( $http )
瀏覽器Location變更事件( $location )
#Timer事件( interval )
執行apply()
##優缺點
vue中的資料劫持
資料劫持主要透過ES5 提供的Object.defineProperty方法來實現,監控對資料的操作,從而可以自動觸發資料同步。並且,由於是在不同的資料上觸發同步,可以精確的將變更發送給綁定的視圖,而不是對所有的資料都執行一次檢測。 資料與視圖的綁定與同步,最終體現在資料的讀寫處理過程中,也就是 Object.defineProperty() 定義的資料 set、get 函數中。 優缺點兩者差異
angular髒值偵測適合大數據量的更新;而vue資料劫持適合小資料量(細顆粒度)的更新。 ######2020年前端vue面試題大匯總(附答案)############vue教程推薦:2020最新的5個vue.js影片教學精選############更多程式相關知識,請造訪:###程式設計入門###! ! ######
##angular髒值偵測原理上支援低階IE(記得最早的NG支援IE8),理論上相容性較好;而vue資料劫持需要支援ES5的瀏覽器。
以上是angular髒值偵測與vue資料劫持的差異是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!