setData数据更新逻辑错误

发布于 7 年前作者 xiulan064030 次浏览最后编辑 7 年前来自 ask
complete: function(res1) {   //complete是网络请求的回调函数
              if (index == res.data.data.length - 1 && finaly) { //主要逻辑
                news1 = []
                for (var index1 in res.data.data) {    //这里对news1重新赋值
                  news1.push(res.data.data[index1])
                }
                finaly = false
                that.setData({
                  news: news1   // 这里根据news1重绘界面,赋值失败,赋的是news之前的数据,全局只有这里有赋值更新操作
                });
                console.log(that.data.news)  //打印的是之前的news1的数据
              }
            }

问题在于,主要逻辑只执行了一次,并且news1的值没有问题。问题在于setdata赋值失败,news始终是news1没有改变的数据。诡异的地方在于全局只有这个地方对news进行赋值更新操作,为什么new1是正常的,一旦调用setdata,就赋值news1之前的数据呢?

0 回复
暂无回复