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