vue2和vue3的区别

121 阅读1分钟

1.响应式原理不同: 的双向数据绑定是利用ES5 Object.definePropert()对数据进行劫持 结合 发布订阅模式的方式来实现的。vue3 中使用了 es6 的 ProxyAPI 对数据代理。

2.组件模板的变化:Vue 3支持碎片(Fragments),允许组件有多个根节点,而Vue 2只支持一个根节点。

3.API的变化:Vue 2使用选项式API(Options API),而Vue 3引入了组合式API(Composition API),这改变了开发者组织和逻辑复用代码的方式。

4.生命周期钩子的变化:虽然两个版本的生命周期钩子在功能上相似,但名称和用法有所不同。在Vue 3中,组合式API使用生命周期钩子时需要先引入,而在Vue 2中,可以直接调用。

 Vue2--------------vue3
  beforeCreate  -> setup()
  created       -> setup()
  beforeMount   -> onBeforeMount
  mounted       -> onMounted
  beforeUpdate  -> onBeforeUpdate
  updated       -> onUpdated
  beforeDestroy -> onBeforeUnmount
  destroyed     -> onUnmounted
  activated     -> onActivated
  deactivated   -> onDeactivated

5.对TypeScript的支持:Vue 3完全支持TypeScript,这提高了项目的可维护性。

6. 实例化的变化:Vue 2使用new Vue()进行实例化,而Vue 3使用createApp()方法,这在创建多个实例和提供上下文方面有所不同。

7.v-if和v-for的优先级变化:在Vue 2中,v-for的优先级高于v-if,而在Vue 3中,v-if的优先级高于v-for。