收藏
回答

getCurrentPages()获取上一页数据后,setData当前页数据时会同步更新上一页数据?

用getCurrentPages()引入上页数组变量,用this.setData({XX})更新本页数组变量,发现上页和本页变量一起被修改,用myPage=pages【pages.length - 1】,myPage.setData({}),也一样。我想通过“确定”键来修改上页数据,“返回”则不修改。

A页面有settitle数组

B页面:

  onShow: function () {

    var pages = getCurrentPages();

    var prevPage = pages[pages.length - 2]  //上一个页面

    this.setData({

      settitle:prevPage.data.settitle,

    })

  },

  onChange(event) {

    let key = event.currentTarget.dataset.key,

    value = event.detail,

    settitle = this.data.settitle

    settitle[key] = value

    this.setData({settitle})

  },

onChange执行后,上一页变量同时改变,这个是我代码有问题,还是getCurrentPages本来就是这样设定的?

谢谢各位大神解答。

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

1 个回答

  • Why not?
    Why not?
    2021-03-13

    你代码的问题,原因琢磨下下面这段代码的输出结果就知道了

    2021-03-13
    有用 2
    回复 2
    • 冰咖啡
      冰咖啡
      2021-03-13
      非常感谢!
      2021-03-13
      回复
    • Why not?
      Why not?
      2021-03-13回复冰咖啡
      可以给我点个有用
      2021-03-13
      回复
登录 后发表内容
问题标签