小编在使用vue的时候遇到一个问题,教程和网上绝大部分键值名都是写死的,只有后面的变量是动态的,那么小编开始思考一个问题,vue的键值名是不是也可以用变量来动态替换!就好比我有一个数组,我不知道里面的内容,也不知道数组长度,包含多少对象,只知道数组中每个对象有a这个键名,我需要数组里面每个对象的a属性的值作为vue双向绑定的变量,看下面例子!
let test = [
{"a": ‘aaa’},
{"a":'bbb'},
...
]
假设vue用于双向绑定的对象是vueTset,我们在不知道test这个数组里面是什么内容的情况下,需要把test中每个对象的a键值作为vueTest对象的键名,从而实现双向数据绑定,下面是我们希望的结果,看具体的代码:
export default{
data () {
return {
vueTset: ''
}
}
}
在你想执行操作的对方,例如mounted这个vue生命周期钩子函数里
mounted () {
// 获得test对象
//遍历test对象
for (let i = 0; i<test.length;i++) {
this.vueTset [test[i].a] = ''
// 如果需要默认键名来渲染dom元素
this.vueTset [test[i].a] = test[i].a
}
}
我们就把vueTest对象变成了我们想要的格式
vueTset
= {
‘aaa’: '',
'bbb': ''
...
}