let that = this 就可以了 小心onshow 选完点回来会跑onshow 坑死我了
在wx.ChooseLocation的回调函数没法使用this.setData我想写一个用地图查询位置并记录位置的页面,在js文件: Page({ data:{ //定义经纬度数据 lat:null longi:null } ...... findlc: function(event){ //页面组件出发函数,点击一个组件会调用本函数 ..... wx.chooseLocation({ //调用地图的查询位置功能 success: function(res){ // success console.log(res.name) //这里可以正常获取位置数据 console.log(res.address) console.log(res.latitude) this.setData({ //但在这里就会报错,说没有setData方法 lat: res.latitude longi:res.longitude }) }, fail: function() { // fail }, complete: function() { // complete } }) } }) 在上面的findlc函数中,调用wx.chooseLocation,成功则回调success函数,此时this.setData()会报错,但是如果我把this.Data从wx.chooseLocation中移出到findlc函数下面,则可以正常运行,看现象,在wx.chooseLocation的回调函数中不能用this.setData来更新页面的初始数据。这是一个bug吗?
2022-01-19