微信小程序 调用远程接口 给全局数组赋值代码实例
关键是letthat=this
因为在onLoad的wx.request方法里,this指的是wx.request的上下文,所以应该是在onLoad的时候定义letthat=this
调用远程服务,序列化后,把obj赋值给bookList
最开始的报错代码如下:
Page({
data:{
bookList:[]
},
onLoad:function(){
wx.request({
url:'https://jiashubing.cn/wechat/book',
header:{
'content-type':'application/json'
},
success(res){
varobj=JSON.parse(res.data)
console.log(obj)
this.setData({
bookList:obj
})
}
})
}
})
报错为:
VM3293:1thirdScriptError Cannotreadproperty'setData'ofnull;atpages/index/indexonLoadfunction;atapirequestsuccesscallbackfunction TypeError:Cannotreadproperty'setData'ofnull
报错原因是this指向有问题,得在onload的时保存实例指向,letthat=this,下面全用that,this指向永远值得是自己的上下文环境
正确代码如下:
Page({
data:{
bookList:[]
},
onLoad:function(){
letthat=this
wx.request({
url:'https://jiashubing.cn/wechat/book',
header:{
'content-type':'application/json'
},
success(res){
varobj=JSON.parse(res.data)
console.log(obj)
that.setData({
bookList:obj
})
}
})
}
})
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语