angular和vue的區別

angular和vue的區別

AngularJS:

采用“臟值檢測”的方式,數據發生變更后 , 對于所有的數據和視圖的綁定關系進行一次檢測,識別是否有數據發生了改變,有變化進行處理,可能進一步引發其他數據的改變,所以這個過程可能會循環幾次,一直到不再有數據變化發生后 , 將變更的數據發送到視圖,更新頁面展現 。如果是手動對 ViewModel 的數據進行變更 , 為確保變更同步到視圖 , 需要手動觸發一次“臟值檢測” 。

VueJS:
采用的是數據劫持與發布訂閱相結合的方式實現雙向綁定,數據劫持主要通過Object.defineProperty來實現,監控對數據的操作 , 從而可以自動觸發數據同步 。并且,由于是在不同的數據上觸發同步,可以精確的將變更發送給綁定的視圖,而不是對所有的數據都執行一次檢測 。
【angular和vue的區別】

經驗總結擴展閱讀