data:[
{"id":"1","name":"张三","address":"北京"}
]
let arr = ['id','name','address']
if(this.data){
for(let i=0;i<arr.length;i++){
this.getData(arr[i],this.data[0])
}
}
getData(parm,data){
// this.parm = data.parm
},
就是我想通过变量的方式动态设置它的值,但是我这样写是不行的,我该怎么写?
javascript 表示对象键名的方式有两种: .key 或者 ['key']。
在已知键名的时候可以使用 .key,键名通过变量修改的时候则采用 [variable]。
因此所谓动态赋值的代码可以写作:
当然,这样的写法会吧 data[0]的所有属性都赋给 this,如果只修改 ['id','name','address'] 这三个属性的话,建议采用原来的数组遍历方式,只在循环体内采用我提供的方案即可。
另外,也可以使用 Object.assign 函数把 data[0] 的所有属性赋给 this.
这里的知识点和 Vue 没有关系,都是 javascript 语法。