不冷博客

vue2和vue3的区别


1. Vue 3 更聪明,不需要 this.$set,改了值都能监听到

补充:Vue 3 还能监听 Map、Set 等数据结构,Vue 2 完全做不到。


2. 一个功能的所有逻辑都在一块,不用像 Vue 2 一样来回翻找

示例:

// Vue 3 中可以这样组织
const { user, login, logout } = useAuth(); // 所有登录逻辑在一个函数里

3. <Teleport to="body">,一键传送


4. Vue 3 允许多个根节点(Fragments)


5. 原生支持 TS,类型推导友好


6. 打包体积更小,所以更快

数据参考:Vue 3 运行时体积比 Vue 2 小约 41%(官方数据)。


7. 虚拟 DOM 重写,性能更快


额外补充:


对比维度Vue 2Vue 3一句话说明
响应式原理Object.definePropertyProxyVue 3 能监听新增/删除属性,无需 $set
API 风格仅 Options APIOptions API + Composition API逻辑可按功能聚合,不再“东一块西一块”
根节点限制必须有且仅有一个根元素支持多个根节点(Fragments)模板更自由,减少无意义 <div> 嵌套
Teleport不支持(需第三方库)内置 <Teleport>弹窗、浮层轻松挂到 body,不怕样式穿透
TypeScript 支持支持弱,类型体验差原生 TS 编写,类型推导强大开发更安全,IDE 智能提示更准
打包体积较大(无法 Tree-shaking)更小(支持按需引入)首屏加载更快,尤其对移动端友好
性能快更快(重写虚拟 DOM + 编译优化)更新效率提升 1.3~2 倍,静态节点直接跳过
维护状态已于 2023 年底停止官方维护当前主力版本,持续更新新项目请优先选 Vue 3

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »