小程序
小游戏
企业微信
微信支付
扫描小程序码分享
第36和37行代码输出的内容竟然不一样,36行输出的对象的userInfo是有内容的,而37行输出的是userInfo的初始数据
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
他这个 有点扯。。。把你第一个console改成 console.log(JSON.parse(JSON.stringify(app.globalData))) 试试呢,
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
按照你的方法,是变得一样了,但是值去哪了
先解释下原因哈。。console出来的这个东西,不是你console.log这一刻,这个对象的内容。。而是你查看的时候,这个对象的内容。也就是说,其实你在调用的时候,app.globalData的值并没有赋值上。
我猜你是在 app.js里的生命周期函数里给globalData赋值的。然而 app.js里的方法并没有走完的时候,已经走到了 page 里的 onLoad方法。要验证这一点,在你给globalData赋值的地方console.log一下,再在你用的地方 console.log一下,看哪个先打出来就知道了。
要处理掉这个问题,可以使用设置回调的方式。onLoad里传一个方法给app.js。等app.js取得了globalData,就去调用这个方法。其他可以处理掉这个异步的方式也都行
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
他这个 有点扯。。。把你第一个console改成 console.log(JSON.parse(JSON.stringify(app.globalData))) 试试呢,
按照你的方法,是变得一样了,但是值去哪了
先解释下原因哈。。console出来的这个东西,不是你console.log这一刻,这个对象的内容。。而是你查看的时候,这个对象的内容。也就是说,其实你在调用的时候,app.globalData的值并没有赋值上。
我猜你是在 app.js里的生命周期函数里给globalData赋值的。然而 app.js里的方法并没有走完的时候,已经走到了 page 里的 onLoad方法。要验证这一点,在你给globalData赋值的地方console.log一下,再在你用的地方 console.log一下,看哪个先打出来就知道了。
要处理掉这个问题,可以使用设置回调的方式。onLoad里传一个方法给app.js。等app.js取得了globalData,就去调用这个方法。其他可以处理掉这个异步的方式也都行