问题: 微信小程序中提示错误:
问题源码:
onLoad: function() {
wx.showLoading({
title: '加载中…',
})
try {
// var self = this
wx.request({
url: app.url+'/xxx',
method:'post',
data:{
"index":"hello"
},
success:function(e){
this.setData({//这一句出错了
Total:e.data,
})
wx.hideLoading({})
},
fail:function(e){
wx.hideLoading({
},
})
}
})
} catch (error) {
wx.hideLoading({})
wx.showToast({
title: '加载失败',
})
}
},
Cannot read property ‘setData’ of undefined;at api request success callback function
解答:
这是因为this的作用域比较短,当进入回调函数success中的时候,this就会被消灭了。
所有会出错显示没有定义
方法
用变量定义解决
var self = this
后面使用self.xxx进行调用即可
修改后的代码
onLoad: function() {
wx.showLoading({
title: '加载中…',
})
try {
//这里使用this赋值给self
var self = this <===1 这里修改了
wx.request({
url: app.url+'/xxx',
method:'post',
data:{
"index":"hello"
},
success:function(e){
//这里使用self即可
self.setData({<===2 这里修改了
Total:e.data,
})
wx.hideLoading({})
},
fail:function(e){
wx.hideLoading({
},
})
}
})
} catch (error) {
wx.hideLoading({})
wx.showToast({
title: '加载失败',
})
}
},
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119301.html