请阐述 Vue 2 与 Vue 3 的主要差异,并说明 Vue 3 引入了哪些新特性或更新?
考察说明
考查对 Vue 2 与 Vue 3 核心差异及 Vue 3 新特性的掌握程度。
回答思路
- 【回答框架 1】Vue 3 在响应式系统上改为基于 Proxy 的响应式,而 Vue 2 使用 Object.defineProperty,因此 Vue 3 能监听动态新增和删除属性,且性能更优。
- 【回答框架 2】Vue 3 引入了 Composition API,提供 setup 函数和 ref、reactive 等,相比 Vue 2 的 Options API 更利于逻辑复用和代码组织。
- 【回答框架 3】Vue 3 对虚拟 DOM 进行了重写,引入静态标记和动态属性追踪,更新性能更高。
- 【回答框架 4】Vue 3 支持 Fragment(多根节点)、Teleport 和 Suspense,并改进了 TypeScript 支持。
- 【回答框架 5】Vue 3 的 Diff 算法优化,并移除了一些 Vue 2 中的全局 API,如 Vue.prototype 改为 app.config.globalProperties。
- 【关键点 1】响应式系统:Vue 3 基于 Proxy,Vue 2 基于 Object.defineProperty。
- 【关键点 2】API 风格:Vue 3 引入 Composition API,Vue 2 主要是 Options API。
- 【关键点 3】性能优化:Vue 3 虚拟 DOM 重写,diff 算法优化。
- 【关键点 4】新特性:Fragment、Teleport、Suspense。
- 【关键点 5】工程化:Vue 3 支持更好的 TypeScript,使用 createApp 创建应用。
- 【易错点 1】Vue 3 中 Options API 仍可用,但 Composition API 是新增。
- 【易错点 2】Vue 2 中不能监听新增属性,Vue 3 可以,但数组索引更新仍有注意事项。