请问为什么这里this.setData报错了啊?
发布于 5 年前 作者 panyang 11748 次浏览 来自 官方Issues

5 回复

this 指向不对了

代码全都发出来

看你问题解决了,给你个提示。新手常见的this指向问题

多了解一下箭头函数

 把success:function(res)改成success:(res)=>即可
==========推荐在页面方法的最开始赋值let t = this==============
func:function(){
  let t = this 
  .....
  wx.request({
    ...
    success: function(res)=>{
      t.setData({...})
    }
  })
}
==========或者==============
func:function(){
  wx.request({
    ...
    success: (res)=>{
      this.setData({...})
    }
  })
}
==========或者==============
func:function(){
  wx.request({
    ...
    success: function(res)=>{
      this.setData({...})
    }.bind(this)
  })
}

若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

回到顶部