小程序this.setData不起作用

问题:

在onload中调用一个方法,方法中调用wx.request,在处理结果的时候使用this.setData,不起作用。

   //页面加载
onLoad: function (options) {
        this.pushUrlInit();
        ...}

 //获取推流地址
      pushUrlInit: function () {
    
          wx.request({
              url: '',
              data: {
              },
              method: 'POST',
              dataType: 'json',
              header: {
                'content-type': 'application/json'
              },
              success: function (res) { 
                var returnData = res.data;
                if(returnData.code=='0'){
                  this.setData({
                    key : returnData.result
                  })
                }
              }
            })
          }},




原因:this的使用套了两层方法,已经不再指向page

解决:

方法1:提前声明一个变量指向page

 //获取推流地址
      pushUrlInit: function () {
        var thisPage = this;
       
          wx.request({
              url: '',
              data: {
              },
              method: 'POST',
              dataType: 'json',
              header: {
                'content-type': 'application/json'
              },
              success: function (res) { 
                var returnData = res.data;
                if(returnData.code=='0'){
                  thisPage.setData({
                    key : returnData.result
                  })
                }
              }
            })
          }},

方法2:获取当前页面对象

  wx.request({
              url: '',
              data: {
              },
              method: 'POST',
              dataType: 'json',
              header: {
                'content-type': 'application/json'
              },
              success: function (res) { 
                var returnData = res.data;
                if(returnData.code=='0'){
                  var pages = getCurrentPages() 
                  var currentPage = pages[pages.length - 1] 
                  currentPage.setData({
                    key : returnData.result
                  })
                }
              }
            })
发布了152 篇原创文章 · 获赞 39 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/top_explore/article/details/104867583