vue原始碼系列06 實現陣列的依賴收集

2021-10-06 05:37:31 字數 563 閱讀 9568

在初始化資料的時候,建立乙個陣列專用的dep

給每個物件新增乙個ob屬性,主要是用於儲存當前例項物件(this)

在 array.js 中在資料改變時,觸發陣列專用dep的notify()派發更新

修改 definereactive 方法

export

function

definereactive

(data, key, value)

}return value;},

set(newvalue)})

}

在array.js 新增 dependarray() 收集兒子的依賴

export

function

dependarray

(value)

}}

陣列的依賴收集就是在初始化的時候新增乙個 dep(陣列專用) **,在get中收集到子元素的所有依賴(包含陣列)

dependarray() 為了收集該陣列的子元素的依賴,如果子元素也是陣列,那就遞迴收集

Vue原始碼解析06 手寫自己的Vue

最近一段時間一直在研究 vue 的原始碼,突然間想寫乙個乞丐的 vue 實現,為了理一下自己的思路,同時也作為乙個階段性的總結.vue 雙向繫結看這裡 vue2.0 1.0 雙向資料繫結簡單來說就是利用了 object.defineproperty 和觀察者模式對 data 資料進行資料劫持.廢話不...

vue原始碼實現的整體流程解析

一 前言 最近一直在使用vue做專案,閒暇之餘查閱了一些關於vue實現原理的資料,一方面對所了解到的知識做個總結,另外一方面希望能對看到此文章的同學有所幫助。本文如有不足之處,還請過往的大佬批評指正。二 vue實現原理概述 vue作為乙個前端漸進式的mvvm開發庫,將廣大的前端勞苦大眾從dom操作中...

Vue原始碼分析 v model實現原理

最近小組有個關於vue原始碼分析的分享會,提前準備一下 前言 我們都知道使用v model可以實現資料的雙向繫結,及實現資料的變化驅動dom的更新,dom的更新影響資料的變化。那麼v model是怎麼實現這一原理的呢?接下來探索一下這部分的原始碼。gendirectives 在模板的編譯階段,v m...