微信小程序之回调函数中用setData
程序员文章站
2022-06-04 14:24:57
...
起因: 想在某个回调函数中用setData 改变值
出错的代码:
Page({
data: {
userinfo : 'notknow'
},
getuser1 : function(){
console.log('hello');
wx.getSystemInfo({
success: function(res) {
console.log(res)
that.setData({
userinfo: '???'
})
},
})
},
我们发现这样做了以后并不能在getsysteminfo里面改变userinfo的值,经过查阅资料以后,得知是因为success返回的是闭包
所以为了解决问题,我们在其中加入一行语句
const that = this;
Page({
/**
* 页面的初始数据
*/
data: {
userinfo : 'notknow'
},
getuser1 : function(){
const that = this;
console.log('hello');
wx.getSystemInfo({
success: function(res) {
console.log(res)
that.setData({
userinfo: '???'
})
},
})
},
上一篇: JS中的排他思想
下一篇: 微信小程序使用npm包