vue2 和 vue3的区别

1.生命周期不一样

|-----------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|
| vue2 | vue3 |
| * beforeCreate * created * beforeMount * mounted * beforeUpdate * updated * beforeDestroy * Destroy | * onBeforeMount() * onMounted() * onBeforeUpdate() * onUpdated() * onBeforeUnmount() * onUnmounted() |

2.Composition组合式api

  • Vue2是选项API(Options API),一个逻辑会散乱在文件不同位置(data、props、computed、watch、生命周期钩子等),导致代码的可读性变差。当需要修改某个逻辑时,需要上下来回跳转文件位置。
  • Vue3组合式API(Composition API)则很好地解决了这个问题,可将同一逻辑的内容写到一起,增强了代码的可读性、内聚性,其还提供了较为完美的逻辑复用性方案。所有逻辑在setup函数中,使用 ref、watch 等函数组织代码。

3.vue2和vue3双向数据绑定原理发生了改变

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

vue3 中使用了 es6ProxyAPI 对数据代理。

4.根节点

  • Vue3 支持碎片(Fragments),就是说在组件可以拥有多个根节点。
  • vue2 只能存在一个根节点,需要用一个div来包裹

5.建立数据 data / setup函数

  • Vue2 这里把数据放入data属性中
  • Vue3 setup函数声明,返回模板需要数据与函数。

6.性能和速度

Vue 3 ‌:重新编写了虚拟DOM的实现,优化了编译模板,组件初始化和更新性能提高了1.3到2倍,服务器端渲染(SSR)速度提高了2到3倍。此外,Vue 3支持树摇(Tree Shaking),可以只打包需要的模块,减小包大小‌。

相关推荐
liangshanbo12156 分钟前
React Hooks 为什么不能在条件分支/循环中调用?
前端·react.js·前端框架
豆角焖肉13 分钟前
Layui+Layer 弹出层实现 CRUD:AJAX 无刷新新增修改删除后台实战
前端·ajax·layui
wordbaby14 分钟前
npm / yarn / pnpm:别再靠感觉选了
前端·前端工程化
sunphp开发者15 分钟前
制作手绘地图瓦片切图
前端·uni-app
尤水就下22 分钟前
聊聊 Prompt 是怎么一路进化到 Harness 的
前端·人工智能·ai编程
李溪白23 分钟前
深入 JavaScript 作用域:从变量提升到执行上下文的底层逻辑
前端
想风27 分钟前
Claude Code 实用技巧工作坊 —— Boris Cherny
前端·后端·github
梦想blog28 分钟前
Claude Code + Chrome MCP:让浏览器自动化测试更简单
前端·chrome·自动化·mcp
YHHLAI29 分钟前
React `useState` 深入浅出
前端·javascript·react.js
夜猫子小强32 分钟前
手搓一个「本地邮件摘要」工具:零依赖、数据不出电脑
前端