摘要:
watch的實現原理 watch和computed一樣, 也是基于 Watcher 的 組件內部使用的watch 和 外部使用的 vm.$watch()都是調用的Vue.prototype.$watch方法 當依賴的屬性發生變化, 更新的時候執行回調就行了 vue'中watch有多種寫法, 這里只簡
閱讀全文
摘要:
計算屬性的實現原理 計算屬性也是一個watcher 計算屬性定義成方法, 使用的時候直接vm.XX,是因為使用Object.defineProperty在vm實例上定義了屬性 計算屬性的依賴更新值發生改變是通過臟值檢測來實現的 計算屬性watcher不能更新視圖, 只會更新里面的dirty屬性,真正
閱讀全文
摘要:
數組更新實現原理 之前我們給每個屬性添加了dep, 讓dep去收集依賴 當使用push方法改變數組的時候, 并沒有改變屬性, 而是改變了數組本身 因此, 需要讓數組,或對象和屬性一樣, 也能收集依賴, 并且在檢測到數組變化的時候觸發更新 在Observer 類中對每一個對象對進行依賴收集 class
閱讀全文