1. 程式人生 > >微信小程式 錯誤記錄

微信小程式 錯誤記錄

1、報錯this.getUserInfo(this.setData) is not a function;at pages/index/index onShow function;at api request success callback function
TypeError: this.getUserInfo is not a function

在回撥結果裡呼叫這個頁面的函式 this.fun() 或者 this.setData 時就會報錯,這時要在函式一開時的地方使用var that = this;,然後使用that呼叫資料。

這裡的this指向的就是請求本身瞭如( wx.request ),而不是這個頁面!!!

複製程式碼
onLoad:function(options){
    this.login();
  },
  
  login:function(){
    var that = this;// 這個地方非常重要,重置data{}裡資料時候setData方法的this應為以及函式的this, 如果在下方的sucess直接寫this就變成了wx.request()的this了
    wx.login({
      success: function (res) {
        if (res.code) {
          //發起網路請求
          wx.request({
            url: 
'https://applet.ech-med.com/appwx/getAppToken', data: { code: res.code }, success: function (re) { console.log(re);that.getUserInfo();          that.setData({ });//如果在sucess直接寫this就變成了wx.request()的this了.必須為getdata函式的this,不然無法重置呼叫函式 } }) }
else { console.log('獲取使用者登入態失敗!' + res.errMsg) } } }) }, getUserInfo: function () { console.log("獲取使用者資訊") },
複製程式碼