全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-20 6 分钟 ✍️ juanwangdev

计算属性与侦听器的选择

计算属性和侦听器都能响应数据变化,但适用场景不同。

计算属性适用场景

JavaScript
computed: {
  // 派生值
  fullName() {
    return `${this.firstName} ${this.lastName}`
  },
  // 过滤数据
  filteredItems() {
    return this.items.filter(item => item.active)
  }
}
  • 基于现有数据计算新值
  • 需要缓存结果
  • 同步操作

侦听器适用场景

JavaScript
watch: {
  // 异步操作
  async searchQuery(val) {
    this.results = await api.search(val)
  },
  // 开销大的操作
  complexData(val) {
    expensiveOperation(val)
  }
}
  • 执行异步操作
  • 执行开销大的操作
  • 数据变化时执行副作用

对比

特性计算属性侦听器
返回值有(派生值)
缓存
异步不支持支持
适用同步计算副作用操作

优先使用计算属性,需要异步或副作用时才用侦听器。

要点总结

  • 计算属性用于派生值,有缓存
  • 侦听器用于异步操作和副作用
  • 优先选择计算属性
  • 两者不可互相替代时结合使用

📝 发现内容有误?点击此处直接编辑

← 上一篇 立即执行侦听器
下一篇 → 计算属性的setter
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库