在vue中用变量名字的字符串来获取变量并使用

Vue2

在vue2中比较简单,直接通过this获取上下文即可:this['变量名']


Vue3

使用对象存储

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

const message = ref("Hello Vue!");
const count = ref(0);

// 创建代理对象
const state = { message, count };

// 通过字符串获取变量
const getVariable = (name) => state[name]?.value;
</script>

其实如果有多个变量需要靠它名字的字符串来获取的话,不如直接定义reactive对象,直接通过key值寻找。
补充:代码中最后用?.是因为这样这行代码就等价于state[name] ? state[name].value : undefined,可以对在对象中获取不到该属性的情况做出处理

posted @ 2025-08-09 20:40  wenerda  阅读(25)  评论(0)    收藏  举报