Vue2和Vue3的区别

发布时间:2024年01月11日
1.性能提升:

Vue3主要通过优化虚拟DOM和渲染过程来提高性能。Vue3版本的虚拟DOM比Vue2更轻量级,渲染过程也更快。Vue3还引入了编译时优化,使得代码的体积更小,加载更快。

2.Composition API(API 组成):

Vue3引入了Composition API,这是一种新的组件API,它将组件逻辑分离并组合在一起,使得组件更容易维护和测试。

3.是否支持碎片:

vue2不支持碎片

Vue3支持碎片,就是说可以拥有多个根节点

4.定义数据变量和方法不同:

Vue2是把数据放入data中,在vue2中定义数据变量是data(){};创建方法需要在methods:{}中进行创建。

Vue3需要使用一个新的setup()方法,此方法在组件初始化构造的时候触发。

使用以下三个步骤来建立反应性数据:

从vue引入reactive;

使用reactive() 方法来声明数据为响应性数据;

使用setup()方法来返回我们的响应性数据,从而template可以获取这些响应性数据。

5.父子传参不同:

vue2:父传子,用props,子传父用事件 Emitting Events。在vue2中,会调用this.$emit然后传入事件名和对象。

vue3:父传子,用props,子传父用事件 Emitting Events。在vue3中的setup()中的第二个参数content对象中就有emit,那么我们只要在setup()接收第二个参数中使用分解对象法取出emit就可以在setup方法中随意使用了。

6.指令与插槽不同:

vue2:vue2中使用slot可以直接使用slot;v-for与v-if在vue2中优先级高的是v-for指令,而且不建议一起使用。

vue3:vue3中必须使用v-slot的形式;vue3中v-for与v-if,只会把当前v-if当做v-for中的一个判断语句,不会相互冲突;

7.main.js文件不同:

vue2:vue2中我们可以使用pototype(原型) 的形式去进行操作,引入的是构造函数。

vue3:vue3中需要使用结构的形式进行操作,引入的是工厂函数;vue3中app组件中可以没有根标签。

8.重构的API:

Vue3中,很多API都进行了重构,使得它们更加一致和易于使用。例如,createApp()函数可以用于创建Vue实例,而不是像Vue2中那样使用全局Vue对象。另外,Vue3还提供了更好的TypeScript支持,使得我们可以在代码中使用类型检查等高级特性。

文章来源:https://blog.csdn.net/m0_65346405/article/details/135536439
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。