全部学科
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 应修改底层数据而非自身

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

← 上一篇 计算属性与侦听器的选择
下一篇 → 计算属性的基本用法
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

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

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