Vue2響應(yīng)式原理
Vue2是通過Object.defineProperty來實(shí)現(xiàn)響應(yīng)式的,其中包含兩個(gè)方面,一是數(shù)據(jù)代理,二是數(shù)據(jù)劫持
首先我們先確定代理對(duì)象proxy
其次我們?cè)俅_定源對(duì)象target
我們要做的就是用proxy代理target,實(shí)現(xiàn)二者之間數(shù)據(jù)的同步
按照簡單邏輯來寫
通過遍歷源對(duì)象的keys來實(shí)現(xiàn)對(duì)proxy屬性的添加,不過是使用Object.defineProperty來添加屬性罷了
進(jìn)一步邏輯(函數(shù)封裝,方便復(fù)用)
最終邏輯(框架源碼設(shè)計(jì))
你見過誰家框架源碼寫成這樣?
事物具有兩面性對(duì)吧,那么通過對(duì)一個(gè)事物的反射是不是也是這個(gè)事物本身?
所以我們用Reflect

標(biāo)簽: