当前位置: 代码迷 >> 综合 >> 微信小程序 在异步的success方法中使用this.setData()
  详细解决方案

微信小程序 在异步的success方法中使用this.setData()

热度:30   发布时间:2023-09-27 21:01:17.0

比如page的data里有一个message,想要在执行wx.request成功的时候修改它的值

 data: {message:"hi~"}

一般很容易这样写:

 wx.request({url: 'https://www.some.com/user',method:'POST',data: {code: res.code},header: {'content-type': 'application/json' },success: function (res)     {console.log(res.data);this.setData({ message: 'success' });   //错误的写法      }
})

上面 this.setData中的this对象已经不是page了。修改一下,正确的代码:

 var that = this; //把page对象赋值给新建的对象wx.request({url: 'https://www.some.com/user',method:'POST',data: {code: res.code},header: {'content-type': 'application/json' },success: function (res)     {console.log(res.data);that.setData({ message: 'success' });   //这里用that}
})

转载自:https://www.jianshu.com/p/95994e5d2e19

  相关解决方案