this.setData没有效果
发布于 6 年前 作者 na36 11540 次浏览 来自 问答

Page({

  data: {

      imgUrls:[],

      indicatorDots: true,

      autoplay: true,

      interval: 2000,

      duration: 1000,

  },

  setSlideData:function(){

    var navItemArr = [];

    wx.request({

      url: getApp().data.servsers+getApp().data.XcxCom+‘getSlide’,

      data: {},

      method: ‘POST’,

      success: function(res){

        var slideList=res.data.slideList;

        for (var i=0; i < slideList.length; i++) {

          navItemArr.push(slideList[i].img);

        }

      },

      fail: function() {

        console.log(res);

        return console.error(res.statusCode + ’ :错误 -_-!’);

      }

    }),

    this.setData({

      imgUrls:navItemArr,

    })

  },

  onLoad: function() { 

   this.setSlideData();

}

})

上面是我的代码,我确定数据已经从服务器上面去出来了,但是在 this.setData的时候,数据没有复制给 imgUrls,不知道怎么回事!!请指教

2 回复
this.setData({
      imgUrls:navItemArr,
})

把这段代码放到请求的成功方法里去执行。

顺带,this要做点小修改。

添加 const that = this

把后面的 this 都用 that 替换

回到顶部