Vue2和Vue3的区别

一、他们的双向数据绑定原理发生了变化(响应式)

Vue2 : 的双向绑定是利用ES5的一个API object.defineProperty() 对数据进行劫持 结合 发布订阅模式的方式来实现。

Vue3 : 的双向数据绑定是使用了ES6的Proxy API对数据代理进行数据劫持

二、它们的API不同

Vue2 : 使用的选项类型API ,在代码里分割了不同的属性:data,computed,method等。

Vue3 : 使用的组合类型API, 新的合成型API, 能让我们使用方法来分割,相比于Vue2API使用属性来分组,这样代码更加简便和整洁 。

三、定义数据变量和方法不同

Vue2 :把数据放到了data里,在Vue2 中定义数据变量是data(){},创建方法要在method:{}

Vue3 : 把数据和方法直接下载钩子函数setup()中

四、Vue3新加入了TypeScript 的支持

五、生命周期钩子函数不同

Vue2 :

  • beforeCreate 组件创建之前;
  • created 组件创建之后;
  • beforeMount 组件挂载到页面之前;             
  • Mounted 组件挂载之后;
  • beforeUpdate 组件更新之前;
  • updated 组件更新之后; 
  • beforeDestory;实例销毁之前;
  • destroyed 实例销毁后

Vue3 :

  • setup 开始创建组件
  • onBeforeMount 组件挂载到页面之前 
  • onMounted 组件挂载到页面之后执行
  • onBeforeUpdate 组件更新之前
  • onUpdated 组件更新后
  • onBeforeUnmount 组件销毁之前
  • onUnmounted 组件销毁后

六、指令跟插槽不同

Vue2 : 使用slot   直接使用slot ; v-for与v-if在Vue2中同时使用优先级高的是v-for ,不建议一起使用(消耗性能)

Vue3 : 使用slot   必须是v-slot形式 v-for与v-if在Vue2中同时使用优先级高的是v-for ,不建议一起使用(消耗性能)

总结:Vue3比Vue2初始渲染和更新渲染更快,打包数据减少,运行速度快

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值