收藏
回答

this.setData没有效果

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 个回答

  • 2017-01-23
    this.setData({
          imgUrls:navItemArr,
    })

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

    顺带,this要做点小修改。

    2017-01-23
    有用
    回复
  • 鱼先森是个坏青年
    鱼先森是个坏青年
    2017-01-23

    添加 const that = this

    把后面的 this 都用 that 替换

    2017-01-23
    有用
    回复
登录 后发表内容