- 当前 Bug 的表现(可附上截图)
我已经在wx.request前面加了var that=this了,为什么还是报错?获取的是列表数据
- 预期表现
不报错
- 复现路径
- 提供一个最简复现 Demo
Page({
data: {
vip_list:null
},
onLoad: function (options) {
this.vip_list();
},
vip_list(){
//获取缓存access_token
wx.getStorage({
key: 'access_token',
success: function (res) {
if (Date.parse(new Date()) + 2000 < res.data.expires) {
//读取缓存access_token
wx.getStorage({
key: 'login_info',
success: function (b) {
var that = this;
//会员列表
wx.request({
url: 'http://api.wss.onlyjune.com/store_member/lists.html',
data: {
access_token: res.data.access_token,
page:'10',
user_token: b.data.user_token
},
method: 'post',
header: {
'Content-Type': 'application/json'
},
success: function (a) {
// console.log(a.data)
console.log('会员数据:',a.data.data.data)
that.setdata({
vip_list: a.data.data.data
})
},
fail: function () { }
})
},
})
} else {
console.log('access_token已过期请重新获取');
}
},
})
},
})
var that = this;
放到vip_list(){下面
奇怪,我刚才试过,报错。你说了之后再试了一次就不报错了,可以了,谢谢。
this作用域的问题
你把 var that = this; 放在 wx.getStorage({})的外面试下呢
报的是that为undefined
已经解决了,谢谢,我放在vip_list() {下面了
this.setData({}) 注意大小写
改成大写的还是报这个错