微信更新后无法获取globalData问题
发布于 6 年前 作者 zhouxiuying 7869 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

全局变量存到globalData中,然后跳转到了另一个页面,在这个页面中无法获取到globalData数据

  • 提供一个最简复现 Demo

app.js

globalData: {

   openid: null

}

login.js

const app = getApp()

onLoad: function () {

   app.globalData.openid = ‘abc’

   console.log(‘redirect.js:’ + app.globalData.openid)    //输出abc

   wx.redirectTo({

     url: ‘…/bind/bind’

   })

}

bind.js

const app = getApp()

onLoad: function(options){

   console.log(‘bind.js:’ + app.globalData.openid)  //测试工具里输出abc,真机更新7.0.0后输出null

}

7 回复

很不稳定,有时能取到值,但绝大部分是 null,求急速解决,谢谢!

安卓7.0.0版本就会出现,6.7.0的都可以,IOS的也没问题。搞的我还认为是我的手机不行。

对对对,我这里更新了微信新版本后部分机型也会出现,以前版本的都没出现过

bind.js修改一下,

把  const app = getApp() 这一行放到onLoad里面或者在onLoad里面重新调用getApp()并赋值,试试

var app = getApp()
 
onLoad: function(options){
   app = getApp();
   console.log('bind.js:' + app.globalData.openid)  //测试工具里输出abc,真机更新7.0.0后输出null
 
}

这个globalData, 开发者工具和真机调试都正常, 但是预览和上传后的测试版和线上版都不正常: 在Page()中无论无论哪个生命周期去获取都会globalData undefined的错误.真实奇了怪了.无论安卓还是苹果

这个问题已经反馈上去了。。真机调试就会出现这个问题!

回到顶部