在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,可以对在对象中获取不到该属性的情况做出处理

浙公网安备 33010602011771号