VueJS - 将变量传递给此。{variable}

时间:2017-05-04 16:09:03

标签: javascript vuejs2

我希望使用变量动态访问属性。

例如,我有:

data(){
    redsection : '',
    bluesection : '',
},
methods(){
     changeColor(color, val){
          this.{color+"section"} = val;
     }
}

我正在尝试做的事情在视图中有一个功能:

<button @click="changeColor("blue", "bar")>blue</button>
<button @click="changeColor("red", "bar")>blue</button>

2 个答案:

答案 0 :(得分:4)

使用索引器。

this[color+"section"] = val;

这是example

答案 1 :(得分:1)

如果你想让它变得更漂亮,你也可以稍微改变一下,如下所示:

data(){
     section: {
          red : 'red',
          blue : 'blue'
     }
},
methods(){
     changeColor(color, val){
          this.section[color] = val;
     }
}