vue.js - VueJS : Set variable name using string

标签 vue.js

是否可以在下面的示例中使用字符串设置变量 myvar

<script>
export default {
    data() {
        return {
            myvar: 'foo'
        };
    }
}
</script>

我试过这个没有用:

eval('myvar'): 'foo'

最佳答案

这是一个非常粗略和基本的示例,说明您将如何完成这样的事情:

new Vue({
  el: "#app",
  data() {
    return {
      myVar: 'hello'
    }
  },
  methods: {
    changeVal(varName, newValue) {
      this[varName] = newValue;
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
  {{myVar}}
  <button @click="changeVal('myVar', 'world')">change myVar</button>
</div>

在这里,我们使用了一个方法,该方法获取变量的名称和将其更改为的值 - 然后将其传递给当前的 vue 模型实例(由方法内部的 this 表示)以修改动态变量名的值。

关于vue.js - VueJS : Set variable name using string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55691495/

相关文章:

javascript - 如何修复 `Uncaught SyntaxError: Unexpected token % in JSON at position 3` 以将数据从 Vue 传递到 Iframe?

vue.js - Vuex 命名空间存储设置两种状态

vue.js - 如何使用 vuejs 制作可安装的 PWA?

google-maps - 如何在 VueJs 组件中获取对谷歌地图对象的引用?

javascript - 非常简单的 vue.js 组件生成超出最大调用堆栈大小

javascript - Vue 有条件地阻止事件传播给子级

typescript - 属性 'use' 在类型 'typeof..., Property ' 上不存在扩展'在类型'typeof 上不存在

javascript - vue.js中的模板错误

node.js - 带有 Node 的 Vue-cli

javascript - Vue.JS - 类型错误 : Cannot use 'in' operator to search for 'undefined' in Laravel Object