小程序success回调函数使用this.setData报错的解决方法

小程序success回调函数使用this.setData报错的解决方法

在success函数中执行this.setData报错是因为success方法指向闭包,所以this属于闭包,由此在success回调函数里是不能直接使用this.setData()的,如果我们要使用的话,可以在闭包之外先把this赋值给另一个变量。

  getList:function(){
    let that = this
    wx.request({
      url: 'xxx', //仅为示例,并非真实的接口地址
      method:'post',
      data: {
        token: 'xxx',
        sign: 'xxx',
        action: 'xxx'
      },
      header: {
        'content-type': 'application/json' // 默认值
      },
      success (res) {
        console.log(res.data.data)
        this.setData({
          list : res.data.data
        })
      }
    })
  },

版权声明:本文为weixin_54386178原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。