我的代码是这样的。
new Vue({
el:'#app',
data:{
cars:[
{
name:'',
make:''
}
]
},
methods:{
addToArray(nameOfTheArray){ //here nameOfTheArray is the string "cars"
//so here I have to do something like this
this.cars.push({
name:'',
make:''
})
}
}
})
我的问题是我可以使用该参数(nameOfTheArray)来告诉我要在哪个数组中推送此对象。 我的意思是这样的?
this.nameOfTheArray.push({
name:'',
make:''
})
但这不起作用。有没有办法使用这个字符串参数与这个关键字??
答案 0 :(得分:1)
使用它:
JComponent
答案 1 :(得分:1)
您可以通过obj [key]访问对象属性,还可以检查对象中是否存在密钥以避免运行时错误
new Vue({
el:'#example',
data:{
cars:[
{
name:'',
make:''
}
]
},
methods:{
addToArray(nameOfTheArray){
if (nameOfTheArray in this) {
this[nameOfTheArray].push({
name: 'default name',
make: 'default make'
})
} else {
alert('Invalid key!')
}
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.15/vue.js"></script>
<div id="example">
<button type="button" @click="addToArray('cars')">Add to cars</button>
<button type="button" @click="addToArray('invalidKey')">Add invalidKey</button>
{{ cars }}
</div>