vue3與vue2的區別

2022-05-26 14:48:13 字數 2371 閱讀 1521

vue2中v-for與ref一起使用,批量模板引用的時候,獲取的ref為乙個陣列

}

//這裡是陣列

mounted() ,

vue3

vue3 中ref繫結的是乙個函式,

//這裡繫結的是函式

setup()

onmounted(() => )

}

二者獲取ref的dom方式有變化,但是獲取的結果相同

在路由中,常常使用懶載入的方式來引入元件

vue2

component: () => import('@/views/homepage/index.vue'),
vue3

在vue3中引入了乙個新的方法 --->defineasynccomponent定義非同步元件,來包裹vue2引入方式裡面的內容

import  from 'vue'

component: defineasynccomponent(() => import('./nextpage.vue'))

vue2

vue2中繫結的鉤子函式為

vue3

將鉤子函式的命名與生命週期的鉤子函式命名相一致

某些情況下需要去獲取元件中例項的某些屬性

vue2

vue.directive('has', );

export const checkpermission = (el, binding, vnode) =>

vue3
export const checkpermission = (el, binding, vnode) =>
v-bind="$attrs"

佔坑vue2

vue3
// v-is類似繫結乙個變數,而我們需要元件名,為字串,所以用單引號包裹

vue3中移除了過濾器的功能,建議使用methods或者computed 來代替,實際上在vue2中也完全可以這兩種方式實現

vue2

}

data()

}, filters:

}

vue3
}

import from 'vue';

setup())

return

}

vue2
vue.filter('tolower',  (value)=> )
vue3

tolower(value)

}

}

vue2

vue3

...

...

佔坑

佔坑vue2

vue3

移除了此功能,

vue2

切換

切換

vue3

vue3中預設是帶有key的,這個key始終保持唯一,與其他的key不同,不能通過故意使用相同的key來強制重用分支。

yes

no

vue2

vue2中,在template標籤上,可以使用v-for指令,但是不能繫結key,只能在子節點上面去繫結唯一的key

...

vue3

vue3中可以將key繫結到template上

...

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...

Vue2和Vue3的區別

vue2 的雙向資料繫結是利用es5 的乙個 api object.definepropert 對資料進行劫持 結合 發布訂閱模式的方式來實現的。vue3 中使用了 es6 的 proxyapi 對資料 相比於vue2.x,使用proxy的優勢如下 1 defineproperty只能監聽某個屬性,...