據(jù)了解,vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架。Vue可以自底向上逐層的應(yīng)用。vue經(jīng)歷從2.0到3.0,更新之后也變得更輕,更快,使?起來(lái)更加?便。那么你知道vue2.0和3.0有什么區(qū)別嗎?下面是關(guān)于vue2.0和3.0區(qū)別有哪些的介紹。
vue2.0和vue3.0的區(qū)別:
1、vue2使用Object.defineProperty方法實(shí)現(xiàn)響應(yīng)式數(shù)據(jù),vue3使用proxy實(shí)現(xiàn)響應(yīng)式數(shù)據(jù)
Object.defineProperty的缺點(diǎn):
無(wú)法檢測(cè)到對(duì)象屬性的動(dòng)態(tài)添加和刪除
無(wú)法檢測(cè)到數(shù)組的下標(biāo)和length屬性的變更
解決方法:
vue2提供Vue.$set動(dòng)態(tài)給對(duì)象添加屬性
Vue.$delete動(dòng)態(tài)刪除對(duì)象屬性
重寫(xiě)數(shù)組的方法,檢測(cè)數(shù)組變更
proxy的缺點(diǎn):
es6的proxy不支持低版本瀏覽器(IE11)
會(huì)針對(duì)IE11出一個(gè)特殊版本進(jìn)行支持
proxy的有點(diǎn):
可以堅(jiān)持到代理對(duì)象屬性的動(dòng)態(tài)新增和刪除
可以監(jiān)測(cè)到數(shù)組的下標(biāo)和length屬性的變化
2、vue3新特性:
①:數(shù)據(jù)響應(yīng)重新實(shí)現(xiàn)(ES6的proxy代替ES5的Object.defineProperty)
②:源碼使用ts重寫(xiě),更好的類(lèi)型推導(dǎo)
③:虛擬DOM新算法(更快、更小)
④:提供了composition api,為更好的邏輯復(fù)用與代碼組織
⑤:自定義渲染器(app、小程序、游戲開(kāi)發(fā))
⑥:Fragment,模板可以有多個(gè)根元素
以上就是有關(guān)vue2.0和3.0區(qū)別有哪些的介紹。