首页/ 学科题库/ vue/ 计算属性与侦听器的选择
vue 实战教程

计算属性与侦听器的选择

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)
  }
}
  • 执行异步操作
  • 执行开销大的操作
  • 数据变化时执行副作用

对比

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

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

要点总结

  • 计算属性用于派生值,有缓存
  • 侦听器用于异步操作和副作用
  • 优先选择计算属性
  • 两者不可互相替代时结合使用
想在手机上练这篇的配套题目?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别下方二维码,即可解锁本讲对应真题与错题本。
了解产品 App
← 上一篇 立即执行侦听器 下一篇 → 组件基本概念