当前位置:首页 > VUE

vue get set 实现

2026-02-17 18:38:55VUE

Vue 中使用 get/set 实现响应式数据

在 Vue 中,可以通过计算属性(computed)或直接使用 Object.defineProperty 实现 getter/setter,以下是两种常见方法:

计算属性实现 get/set

export default {
  data() {
    return {
      internalValue: ''
    }
  },
  computed: {
    value: {
      get() {
        return this.internalValue
      },
      set(newValue) {
        this.internalValue = newValue
        console.log('值被修改为:', newValue)
      }
    }
  }
}

使用 Object.defineProperty

export default {
  data() {
    const obj = {}
    Object.defineProperty(obj, 'value', {
      get() {
        return this._value
      },
      set(newValue) {
        this._value = newValue
        console.log('值被修改为:', newValue)
      }
    })
    return {
      obj
    }
  }
}

Vue 3 的 refreactive

Vue 3 的 Composition API 中,refreactive 自动提供 getter/setter:

import { ref } from 'vue'

const count = ref(0)
console.log(count.value) // get
count.value = 1 // set

自定义响应式对象

通过 reactive 创建的对象会自动转换属性为 getter/setter:

import { reactive } from 'vue'

const state = reactive({
  count: 0
})
console.log(state.count) // get
state.count++ // set

注意事项:

vue get set 实现

  • 计算属性的 setter 需要依赖一个 data 属性存储实际值
  • Vue 3 的 ref 在模板中自动解包,无需 .value
  • 直接修改数组或对象属性时,确保使用响应式方法(如 push 而非直接赋值)

标签: vueget
分享给朋友:

相关文章

vue实现报表

vue实现报表

vue实现报表的方法 使用Vue实现报表通常需要结合图表库或表格组件。以下是几种常见方法: 使用ECharts 安装ECharts库: npm install echarts vue-echart…

vue实现换行

vue实现换行

Vue 中实现换行的几种方法 在 Vue 中实现换行可以通过多种方式,具体取决于使用场景和需求。以下是常见的几种方法: 使用 HTML 的 <br> 标签 在模板中直接使用 <br…

vue 实现拖拉

vue 实现拖拉

Vue 实现拖拽功能的方法 使用 HTML5 原生拖放 API HTML5 提供了原生的拖放 API,可以通过 draggable 属性、dragstart、dragend、dragover 和 dr…

vue网页实现

vue网页实现

Vue 网页实现指南 环境准备 安装 Node.js 和 npm/yarn,确保环境配置正确。使用 Vue CLI 或 Vite 创建项目框架,快速搭建开发环境。 npm install -g @v…

vue分页实现

vue分页实现

实现Vue分页的几种方法 使用Element UI的分页组件 安装Element UI库后,可以直接使用其分页组件。以下是一个基本示例: <template> <div>…

vue实现登录认证

vue实现登录认证

Vue 登录认证实现方法 使用 Vue Router 和 Vuex 管理登录状态 在 Vue 项目中,通常使用 Vue Router 进行路由管理,Vuex 进行状态管理。登录认证的核心是验证用户身份…