Vue2和Vue3的區別

2021-10-09 21:17:13 字數 925 閱讀 4747

vue2 的雙向資料繫結是利用es5 的乙個 api object.definepropert()對資料進行劫持 結合 發布訂閱模式的方式來實現的。

vue3 中使用了 es6 的 proxyapi 對資料**。

相比於vue2.x,使用proxy的優勢如下

1、defineproperty只能監聽某個屬性,不能對全物件監聽

2、可以省去for in、閉包等內容來提公升效率(直接繫結整個物件即可)

3、可以監聽陣列,不用再去單獨的對陣列做特異性操作 vue3.x可以檢測到陣列內部資料的變化

在 2.x 版本裡,不管資料多大,都會在一開始就為其建立觀察者。當資料很大時,這可能會在頁面載入時造成明顯的效能壓力。3.x 版本,只會對「被用於渲染初始可見部分的資料」建立觀察者,而且 3.x 的觀察者更高效。

比例來說:2.x 版本中,使用 vue.set 來給物件新增乙個屬性時,這個物件的所有 watcher 都會重新執行;3.x 版本中,只有依賴那個屬性的 watcher 才會重新執行。

載安裝npm install -g vue@cli

刪除了vue list

建立專案vue create

啟動專案npm run serve

移除了配置檔案目錄,configbuild資料夾

移除了static資料夾,新增public資料夾,並且index.html移動到public

src資料夾中新增了views資料夾,用於分類 檢視元件 和 公共元件

詳情:

vue2和vue3的區別

vue2 vue3 安裝npm install vue cli g npm install vue cli g 解除安裝npm install vue cli g npm install vue cli g 圖形介面 vue ui 無圖形介面 建立專案 vue init webpack demo v...

vue2與vue3的區別

vue2和vue3開發元件有什麼區別 vue2和vue3雙向資料繫結的區別 vue2的雙向資料繫結是利用es5 的乙個 apiobject.definepropert 對資料進行劫持 結合 發布訂閱模式的方式來實現的。vue3中使用了 es6 的proxyapi 對資料 相比於vue2.x,使用pr...

Vue2與Vue3的區別

vue2和vue3開發元件有什麼區別 vue2和vue3雙向資料繫結的區別 vue2的雙向資料繫結是利用es5 的乙個 apiobject.definepropert 對資料進行劫持 結合 發布訂閱模式的方式來實現的。vue3中使用了 es6 的proxyapi 對資料 相比於vue2.x,使用pr...