微信小程序调用远程接口给全局数组赋值代码实例
关键是 let that = this

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都做网站、龙泉驿网络推广、小程序开发、龙泉驿网络营销、龙泉驿企业策划、龙泉驿品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供龙泉驿建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
因为在onLoad 的 wx.request方法里, this指的是 wx.request 的上下文, 所以应该是在 onLoad 的时候定义 let that = this
调用远程服务,序列化后,把obj赋值给bookList
最开始的报错代码如下:
Page({
data: {
bookList: []
},
onLoad: function() {
wx.request({
url: 'https://jiashubing.cn/wechat/book',
header: {
'content-type': 'application/json'
},
success(res) {
var obj = JSON.parse(res.data)
console.log(obj)
this.setData({
bookList: obj
})
}
})
}
})报错为:
VM3293:1 thirdScriptError Cannot read property 'setData' of null;at pages/index/index onLoad function;at api request success callback function TypeError: Cannot read property 'setData' of null
报错原因是this 指向有问题,得在onload的时保存实例指向,let that = this,下面全用that,this指向永远值得是自己的上下文环境
正确代码如下:
Page({
data: {
bookList: []
},
onLoad: function() {
let that = this
wx.request({
url: 'https://jiashubing.cn/wechat/book',
header: {
'content-type': 'application/json'
},
success(res) {
var obj = JSON.parse(res.data)
console.log(obj)
that.setData({
bookList: obj
})
}
})
}
})以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
本文名称:微信小程序调用远程接口给全局数组赋值代码实例
标题网址:http://www.jxjierui.cn/article/gchhps.html


咨询
建站咨询
