微信小程序TypeError: Cannot read property ‘setData‘ of undefined

Posted Xavier Jiezou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序TypeError: Cannot read property ‘setData‘ of undefined相关的知识,希望对你有一定的参考价值。

项目场景

onLoad: function (options) 
  wx.request(
    url: 'https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata',
    success: function(res)
      // success
      this.setData(
        swiperList: res.data.message
      )
    
  )

问题描述

TypeError: Cannot read property 'setData' of undefined

解决方案

方案一(推荐)

使用 ES6 箭头函数(箭头函数 this 为父作用域的 this ,不是调用时的 this

onLoad: function (options) 
    wx.request(
      url: 'https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata',
      success: (res) => 
        // success
        this.setData(
          swiperList: res.data.message
        )
      
    )
  

方案二

  1. 添加 var that = this;
  2. sucess 中的 this.setData 改成 that.setData
onLoad: function (options) 
    var that = this;
    wx.request(
      url: 'https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata',
      success: function (res) 
        // success
        that.setData(
          swiperList: res.data.message
        )
      
    )
  

引用参考

以上是关于微信小程序TypeError: Cannot read property ‘setData‘ of undefined的主要内容,如果未能解决你的问题,请参考以下文章

uni-app——运行微信微信小程序整合uView运行错误[Cannot read property ‘mark‘ of undefined]解决方案

微信小程序解密 TypeError(the JSON object must be str, not ‘bytes')

急!急!微信小程序报错:TypeError: fetch is not a function

uniapp转微信小程序报错Cannot read property ‘forceUpdate‘ of undefined - 微信开发者工具报错

「Krystalcsdn」的原创文章 微信小程序Cannot read property 'setData' of undefined问题解决 两种方法可用

「Krystalcsdn」的原创文章 微信小程序Cannot read property 'setData' of undefined问题解决 两种方法可用