Vue2 与 Vue3 差异总览

从响应式实现、API 风格、性能与生态默认版本对照 Vue2 与 Vue3,服务迁移判断与学习路径选择。

#type / synthesis #status / growing #tech / dev / frame #resource / vue3

[!info] 关联笔记

Vue2 与 Vue3 差异总览

这个概念为什么出现

团队仍可能维护 Vue2,而新项目默认 Vue3。若只记“有 Composition API”,会低估:响应式边界、生命周期更名、破碎性变更与生态分裂。

[!abstract] 一句话理解 Vue3 用 Proxy 响应式 + Composition 组织方式 + 编译/运行时优化,成为新默认;Vue2 是 Options 与 defineProperty 时代的遗产主线。

对照表

维度Vue2Vue3
响应式Object.definePropertyProxy
逻辑组织Options 为主Composition + script setup 为主
根 APInew VuecreateApp
多根节点受限fragments
TS体验较弱显著更好
生态维护/迁移态默认新生态

迁移注意

  • 全局 API 变应用实例 API
  • 生命周期名称变化(destroyedunmounted 等)
  • 过滤器移除,用函数/计算属性
  • 部分库只支持其一

学习建议

新学直接 Vue3;维护 Vue2 时补响应式限制(无法检测属性添加等)与 Options 习惯。

本节总结

版本差异是模型升级,不只是 API 换皮。选型与迁移以响应式与组合式主线为中心。

自测题

  1. Vue2 响应式对对象新属性的经典限制是什么?
参考答案

defineProperty 预转换已有属性,直接 obj.newKey = 1 可能非响应,需 Vue.set 等(Vue3 Proxy 改善此点)。

创建于 2025/12/11 更新于 2026/7/15