收藏
回答

页面中无法获取globalData中的数据?

const app = getApp()

  onLoad(options) {console.log(app.globalData);console.log(app.globalData.address);}

第一个能打印出来 第二个打印为空

回答关注问题邀请回答
收藏

2 个回答

  • Frank
    Frank
    2022-06-28

    第一个用 console.log(JSON.parse(JSON.stringify(app.globalData))) 打印下再看下,你就明白了

    2022-06-28
    有用
    回复 8
    • 啊哈
      啊哈
      2022-06-28
      没有啥区别哇
      2022-06-28
      回复
    • Frank
      Frank
      2022-06-28回复啊哈
      怎么可能,你截个图来看看?
      2022-06-28
      回复
    • 啊哈
      啊哈
      2022-06-28回复Frank
      第一个没有转换json格式
      2022-06-28
      回复
    • Frank
      Frank
      2022-06-28回复啊哈
      https://developers.weixin.qq.com/s/ACMFWlmE7HAx,瞎扯,我写了个代码片段,你看下。根本原因是异步导致的,因为app.globalData是引用类型,当你点击展开那个小三角的时候,回去获取当前实际的值
      2022-06-28
      回复
    • 啊哈
      啊哈
      2022-06-28回复Frank
      我在app.js中已经将globalData的数据初始化完成了,然后想在页面onload中使用,就只能setTimeout拿值了吗
      2022-06-28
      回复
    查看更多(3)
  • 跨商通
    跨商通
    2022-06-28

    1、目测是异步问题。

    很好排查,setTimeout一下,再console.log来排查

    2022-06-28
    有用
    回复 2
    • 啊哈
      啊哈
      2022-06-28
      好像确实是异步的问题,设个settimeout后就拿到了
      2022-06-28
      回复
    • 跨商通
      跨商通
      2022-06-28回复啊哈
      settimeout只是用于排查,不能解决问题。建议百度JS异步,先了解后再修改代码。
      2022-06-28
      回复
登录 后发表内容