Vue 3 怎样动态修改响应式变量的值?

// Vue 2
methods: {
    setValue(key, val) {
        this[key] = val
    } 
}

// Vue 3
const setValue = (key, val) => {
    ...
}

Vue 3 该怎么写呢?

阅读 3.6k
2 个回答

Vue3 也是可以用选项式来写的,只不过大部分人会按照推荐的组合式来写。

选项式就是还是使用原来的 this[key] = value 的方式就可以了。
组合式的话,就不能用原来的方式了,不过你可以通过再包裹一层的方式来处理比如说:

<script setup>
import { ref } from 'vue'

const msg = ref('Hello World!')
const testObj = { msg }
testObj['msg'].value = '动态属性名赋值'
</script>
// vue3
const setValue = (key, val) => {
    this[key] = val
}

是同样的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题