简述Vue2和Vue3的区别

        从Vue2过渡到Vue3开发,总结一下两者的区别

1.Vue3采用组合式API,Vue2采用选项式API

        所谓选项式:在代码中的体现就是:

        选项式API是Vue.js 2中常用的API风格。它基于组件选项对象,将组件的逻辑和模板结合在一起。使用选项式API,你可以在组件定义中通过各种选项来描述组件的行为,如datamethodscomputedwatch等。这种风格描述简单、清晰,适用于较小的单一组件。

        组合式:没有data.通过setup 语法糖,我们可以在任意地方定义数据,

        组合式 API 是根据逻辑相关性组织代码的,提高可读性和可维护性,基于函数组合的 API 更好的重用逻辑代码.

        就是把跟一个功能相关的东西放在一个地方,它是目前最合理也是最容易维护的,你可以随时将功能的一部分拆分出去,你可以将每一个功能相关所有的东西比如methods,computed都放在同一个地方维护,

<script setup>
  const message = 'this is message'
  const logMessage = ()=>{
    console.log(message)
  }
</script>

        

2.Vue3重写diff算法

1.diff算法 当data发生改变 会根据新的数据生成一个新的虚拟dom ,新的虚拟dom和旧的虚拟dom进行对比,这个对比的过程就是diff算法

2.vue3是将变量赋值flag1,不变的值赋值flag,只会对比变动的值,相比Vue2性能更嘉

3.Vue3按需引入

从Vue2过渡到Vue3很多人最大的感受就是开局import.Vue3的按需引入使得相比Vue2的项目,Vue3项目体积会更小

4.数据响应式 Vue3 Proxy, Vue2, Object.defineProperty

1.vue2通过 Object.defineProperty 遍历对象的每一个属性,把每一个属性变成一个 getter 和 setter 函数,读取属性的时候调用 getter,给属性赋值的时候就会调用 setter.

vue2的响应式中,存在着新增属性,删除属性以及直接通过下标修改数组,但页面不会自动更新的问题。但是在Vue3中,这些问题都得以解决。

2.vue3通过Proxy(代理): 拦截对象中任意属性的变化,包括:属性值的读写,属性的增加,属性的删除等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值