收藏
回答

使用this.setData后,数据更新成功,但是页面数据不更新?这是为什么?

正常这里的type应该已经更新为“户型图”了

但页面数据还是“厨房”

求大佬们指教啊!

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

5 个回答

  • brave
    brave
    2022-02-18

    for循环并未终止吧,目测逻辑有问题

    2022-02-18
    有用 2
    回复 1
    • 白
      发表于移动端
      2022-02-18
      使用return不会终止方法吗?
      2022-02-18
      回复
  • 白
    2022-02-18

    我把swiper的bindchange事件改成了最简单的赋值,结果页面的数据还是没有更新

    正常来说这个popCurrentImg的type应该是 "户型图",但是页面显示的始终是我在pop show里设置的“厨房”

    2022-02-18
    有用
    回复
  • 小黎
    小黎
    发表于小程序端
    2022-02-18

    你for循环的对象没有重新赋值

    2022-02-18
    有用
    回复 1
    • 白
      发表于移动端
      2022-02-18
      我重新赋值了对象的两个属性,循环后打印出来的this.data.popCurrentImg也是对的,但页面上这个数据没有更新
      2022-02-18
      回复
  • 15
    15
    2022-02-18

    跟this指向没关系,应该就是for循环的问题,你在循环外打印一下就知道了

    2022-02-18
    有用
    回复 1
    • 白
      发表于移动端
      2022-02-18
      我之前尝试用break代替return终止循环,也是这个问题
      2022-02-18
      回复
  • 小农明
    小农明
    2022-02-18

    this 指向有问题

    2022-02-18
    有用
    回复 8
    • 白
      2022-02-18
      请问啥意思?我在function开头使用var that = this,使用that也一样出现这个问题,求大佬点明!
      2022-02-18
      回复
    • 小农明
      小农明
      2022-02-18回复
      你打印下这个this,看看是不是popCurrentImg的属性是不是在data底下,可能出现了this.data.data.popCurrentImg。还有一种可能可以参考楼上的在循环外再打印下看看数据变化
      2022-02-18
      回复
    • 白
      发表于移动端
      2022-02-18回复小农明
      好的!我等下尝试下!感谢大神!
      2022-02-18
      回复
    • 白
      2022-02-18
      大神,我在for循环外打印了这个值,发现结果是正确的复制,然后这个this的打印里也有popCurrentImg这个值,不知道为啥...
      2022-02-18
      回复
    • 小农明
      小农明
      2022-02-18回复
      视图里是popCurrentImg,脚本里是popCurentImg
      2022-02-18
      1
      回复
    查看更多(3)
登录 后发表内容