前端/移动开发面试题更新 2026-08-05

在 Vue 框架中,computed 属性与 methods 方法在功能和使用场景上有哪些不同?请从缓存机制、依赖追踪、调用方式及适用场景等方面阐述。

前端/移动开发技术原理方案权衡Vue

考察说明

考察对 Vue 中 computed 和 methods 核心特性及各自适用场景的理解。

回答思路

  1. 【回答框架 1】computed 是计算属性,基于响应式依赖进行缓存,只有依赖变化时才重新计算;methods 是方法,每次调用都会执行,不会缓存结果。
  2. 【回答框架 2】computed 在模板中作为属性使用,无需加括号;methods 必须作为函数调用,加括号。computed 无法接收参数,methods 可以。
  3. 【回答框架 3】computed 适合根据现有数据派生新值,且期望多次访问时性能优化;methods 适合事件处理或需要参数的操作。
  4. 【回答框架 4】computed 内部如果有异步操作或产生副作用,不推荐使用,因为其设计初衷是纯计算。methods 则没有此限制。
  5. 【关键点 1】computed 有缓存,methods 无缓存。
  6. 【关键点 2】computed 依赖响应式数据自动追踪,methods 不追踪。
  7. 【关键点 3】computed 使用属性方式访问,methods 需调用。
  8. 【关键点 4】computed 适合数据派生,methods 适合事件或带参操作。
  9. 【易错点 1】在 methods 中大量使用复杂计算且多次调用,没有缓存会导致性能问题。
  10. 【易错点 2】在 computed 中执行异步或副作用操作,可能引起难以预期的行为。
  11. 【易错点 3】computed 不能接收参数,若需参数仍使用 methods。