Vue2和Vue3的区别

本文概述了Vue3的主要改进,包括更高效的虚拟DOM、CompositionAPI带来的组件管理优化、支持碎片、响应式数据定义、父子组件通信变化、指令与插槽更新以及main.js文件结构的变化。此外,Vue3重构了API以提高一致性并增强TypeScript集成。
摘要由CSDN通过智能技术生成
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支持,使得我们可以在代码中使用类型检查等高级特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是个车迷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值