在 Vue 3 中,使用了 Proxy 来实现响应式数据,直接修改 Proxy 对象的属性是不会触发响应式更新的。

正确的做法是使用 Vue 提供的响应式 API 来修改数据,例如:

import { reactive } from 'vue'

const globalConfigure = reactive({
  key1: 'value1',
  key2: 'value2',
  // ...
})

// 修改属性值
globalConfigure.key1 = 'new value'

如果需要遍历对象并修改属性值,可以使用 Object.keys 方法来获取对象的所有属性名,然后逐个修改属性值:

import { reactive } from 'vue'

const globalConfigure = reactive({
  key1: 'value1',
  key2: 'value2',
  // ...
})

// 遍历对象并修改属性值
Object.keys(globalConfigure).forEach((key) => {
  globalConfigure[key] = 'new value'
})
Vue3 TS 响应式数据修改:正确设置值方法

原文地址: https://www.cveoy.top/t/topic/nQhg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录