2017-05-04 54 views
1

我想要一个动态访问变量的属性。VueJS - 将变量传递给此变量{variable}

例如,我有:

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> 

回答

3

使用一个索引。

this[color+"section"] = val; 

这是example

1

,如果你想让它更漂亮,这样你也可以改变它一点:

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