收藏
回答

多级数组赋值出现全部重复的问题?

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中的图像都显示出来了,求解。


数组赋值也写了很多遍,第一次遇到这种问题。



回答关注问题邀请回答
收藏

2 个回答

  • 青团社
    青团社
    2022-04-22

    加下浅拷贝。搜下啥叫浅拷贝

    2022-04-22
    有用
    回复
  • 武曲心
    武曲心
    2022-04-19

    2022-04-19
    有用
    回复
登录 后发表内容