当前位置:首页 > VUE

vue get set 实现

2026-01-17 02:12:17VUE

Vue 中实现 getter 和 setter 的方法

在 Vue 中,可以通过计算属性(computed properties)或 Object.defineProperty 实现 getter 和 setter。

vue get set 实现

使用计算属性实现

计算属性默认只有 getter,但可以通过定义 setter 实现双向绑定。

vue get set 实现

new Vue({
  data() {
    return {
      firstName: 'John',
      lastName: 'Doe'
    }
  },
  computed: {
    fullName: {
      get() {
        return `${this.firstName} ${this.lastName}`
      },
      set(newValue) {
        const names = newValue.split(' ')
        this.firstName = names[0]
        this.lastName = names[1] || ''
      }
    }
  }
})

使用 Object.defineProperty 实现

可以直接在数据对象上定义 getter 和 setter。

new Vue({
  data() {
    const data = {
      _message: 'Hello'
    }
    Object.defineProperty(data, 'message', {
      get() {
        return this._message
      },
      set(newValue) {
        this._message = newValue
        console.log('Message changed to:', newValue)
      }
    })
    return data
  }
})

在 Vue 3 中使用 refreactive

Vue 3 的 Composition API 提供了更灵活的方式。

import { ref, computed } from 'vue'

export default {
  setup() {
    const count = ref(0)
    const doubleCount = computed({
      get: () => count.value * 2,
      set: (val) => {
        count.value = val / 2
      }
    })
    return { count, doubleCount }
  }
}

这些方法都能在 Vue 中实现 getter 和 setter 功能,根据具体场景选择合适的方式。

标签: vueget
分享给朋友:

相关文章

vue实现本地数据存储

vue实现本地数据存储

使用 localStorage 或 sessionStorage Vue 中可以直接调用浏览器提供的 localStorage 或 sessionStorage API 进行数据存储。localSto…

vue实现收起展开面板

vue实现收起展开面板

实现收起展开面板的方法 在Vue中实现收起展开面板功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-show或v-if控制显示隐藏 利用Vue的指令可以轻松实现面板的展开和收起:…

vue实现走势图

vue实现走势图

Vue 实现走势图的方法 使用 ECharts 库 ECharts 是一个强大的数据可视化库,支持多种图表类型,包括走势图(折线图)。在 Vue 项目中可以通过 vue-echarts 封装库或直接使…

vue调用接口实现退出

vue调用接口实现退出

实现Vue退出功能的步骤 在Vue中调用接口实现退出功能通常需要与后端API交互,以下是实现方法: 前端实现 创建退出方法,调用后端API接口: methods: { logout() {…

vue懒加载实现难吗

vue懒加载实现难吗

vue懒加载的实现难度 Vue懒加载的实现并不复杂,核心逻辑是通过动态导入(Dynamic Imports)和路由配置或组件异步加载完成。以下是具体实现方法: 路由懒加载实现 在Vue Router…

实现vue

实现vue

安装Vue.js 通过npm安装Vue.js是最常见的方式。确保已安装Node.js和npm,运行以下命令: npm install vue 或者使用CDN直接引入: <script src…