Skip to content

Vue3 的 Composition API 和 Options API 有什么区别?在什么场景下会选择哪一个?

  • Composition API 是 Vue3 引入的函数式 API,提供了更灵活的代码组织方式,适合大型项目或需要逻辑复用的场景。
  • Options API 更直观,适合小型项目或快速原型开发。 区别:代码组织(逻辑分散 vs 按功能聚合)、类型推导支持(Composition API 更适合 TypeScript)、逻辑复用能力(Composables vs Mixins)。 选择依据:项目规模、团队熟悉度、是否需要强类型支持、逻辑复用需求。

Vue3 的响应式系统是如何实现的?与 Vue2 的响应式有什么不同?

  • Vue3 的响应式系统基于 Proxy 对象,在 Vue2 中,响应式系统是通过 Object.defineProperty 实现的。
  • Proxy 对象提供了更丰富的 API,如拦截器、捕获器等,使得响应式系统更加灵活。
  • 优势:支持动态添加/删除属性、支持数组操作监听、支持 Map/Set 等复杂数据类型、性能优化(惰性代理)。
  • 缺点:Proxy 不兼容 IE,Vue3 不支持 IE。

请解释 Vue3 中 ref 和 reactive 的区别,以及它们的适用场景。

  • ref用户包装基本数据类型或对象,返回一个响应式对象。通过 .value 访问和修改。
  • reactive 用于创建响应式对象,适合复杂数据结构(如对象或数组)。
  • 适用场景: ref:简单值(如计数器、字符串)、单值响应式状态。 reactive:复杂对象(如表单数据、嵌套对象)。
  • 注意事项:ref 解构会丢失响应式,需用 toRefs;reactive 不能直接替换对象。

MIT Licensed | Keep Learning.