vue3響應(yīng)式原理(vue3響應(yīng)式原理總結(jié))
vue響應(yīng)式數(shù)據(jù)原理是利用ObjectdefineProperty這個(gè)API來實(shí)現(xiàn),該API可以監(jiān)聽對(duì)象屬性的get和set,當(dāng)對(duì)象屬性被調(diào)用時(shí),它能夠自動(dòng)觸發(fā)更新視圖Vue的響應(yīng)式實(shí)現(xiàn),便是通過使用ObjectdefineProperty來劫持各個(gè)屬性的setter,getter。
Vue通過設(shè)定對(duì)象屬性的 settergetter 方法來監(jiān)聽數(shù)據(jù)的變化,通過getter進(jìn)行依賴收集,而每個(gè)setter方法就是一個(gè) 觀察者Watcher ,在數(shù)據(jù)變更的時(shí)候通知 訂閱者Dep 更新視圖核心APIobserver 數(shù)據(jù)劫持 劫持對(duì)象的。
什么是響應(yīng)式系統(tǒng)一句話概括數(shù)據(jù)變更驅(qū)動(dòng)視圖更新這樣我們就可以以“數(shù)據(jù)驅(qū)動(dòng)”的思維來編寫我們的代碼,更多的關(guān)注業(yè)務(wù),而不是dom操作其實(shí)Vue響應(yīng)式的實(shí)現(xiàn)是一個(gè)變化追蹤和變化應(yīng)用的過程vue響應(yīng)式原理以數(shù)據(jù)劫持方式,攔截?cái)?shù)據(jù)變化。
Vue響應(yīng)式原理核心是 數(shù)據(jù)劫持,采用 ES5 的 objectdefineproperty 的 getter 和 setter 方法從一個(gè)例子出發(fā)首先,在Vue初始化階段,通過 observer 對(duì) data 中的屬性進(jìn)行遞歸的劫持,包括 namejob_ undergoab等。
vue的響應(yīng)式數(shù)據(jù)原理是vue的核心特性之一當(dāng)我們?cè)趘ue中修改數(shù)據(jù)時(shí),頁面會(huì)自動(dòng)響應(yīng)并更新相應(yīng)的部分,這是由vue的響應(yīng)式數(shù)據(jù)原理實(shí)現(xiàn)的vue通過使用ObjectdefineProperty方法來實(shí)現(xiàn)對(duì)數(shù)據(jù)的監(jiān)聽,當(dāng)數(shù)據(jù)發(fā)生變化時(shí),vue會(huì)自動(dòng)。
vue響應(yīng)式數(shù)據(jù)實(shí)現(xiàn)VUE的雙向綁定涉及到模板編譯,響應(yīng)式數(shù)據(jù),訂閱者模式等等,有興趣的可以看這里 ,因?yàn)檫@篇文章的主題是proxy,因此我們著重介紹一下數(shù)據(jù)響應(yīng)式的過程2x版本在當(dāng)前的vue2x的版本中,在data中聲名一個(gè)obj后,vue會(huì)利用。
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。