全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-20 5 分钟 ✍️ juanwangdev

计算属性的setter

计算属性可定义 setter 来支持写入操作。

默认 getter

JavaScript
computed: {
  fullName() {
    return this.firstName + ' ' + this.lastName
  }
}

getter 和 setter

JavaScript
computed: {
  fullName: {
    get() {
      return this.firstName + ' ' + this.lastName
    },
    set(newValue) {
      const names = newValue.split(' ')
      this.firstName = names[0]
      this.lastName = names[names.length - 1]
    }
  }
}

使用

HTML
<p>{{ fullName }}</p>
<input v-model="fullName" />

当输入框内容变化时,setter 被调用并更新 firstNamelastName

setter 中不应直接修改自身,应修改底层依赖数据。

实际场景

JavaScript
computed: {
  priceText: {
    get() {
      return ${this.price.toFixed(2)}`
    },
    set(value) {
      this.price = parseFloat(value.replace('¥', ''))
    }
  }
}

要点总结

  • 计算属性默认只读(getter)
  • 使用对象形式定义 getset
  • setter 用于处理赋值操作
  • setter 应修改底层数据而非自身
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 计算属性的缓存特性
下一篇 → 侦听器的基本用法
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码