let pIndex = this.data.currentHightLight;
let pImg = "info.dayInfo[0].personList["+pIndex+"].img";
this.setData({
[pImg] : obj.cImg,
})
------------------------
info的数据格式:
info : {
dayInfo : [{
day : 0,
personList : [{
img : ""
},{
img : ""
},{
img : ""
}]
}]
}
代码如上,赋值完以后打印this.data.info.dayInfo,发现dayInfo[0]下的personList中img全部都是一样的值。
let pImg = "info.dayInfo[0].personList[0].img";
于是把变量写死成0,但是打印出的结果依旧完全相同,换了字段名字也不行;
更诡异的是,虽然img都有值,但是在渲染的时候,却还是只能渲染出第一个,证明实际已经生效了,但不知为何打印出的结果完全一样。
本来觉得实现没问题,就继续操作,给dayInfo push新的对象,这时dayInfo[0]下personList中的图像都显示出来了,求解。
数组赋值也写了很多遍,第一次遇到这种问题。
加下浅拷贝。搜下啥叫浅拷贝