收藏
回答

getApp()不是实时获取的吗?

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug getApp() 微信iOS客户端 1.0.2.1804120 1.9.0

两个tab页,在app.js里获取客户信息并赋值给app.globalData.customer;在页面的onshow里有代码这样写: let app = getApp();console.log(app.globalData.customer);由于怕异步的问题会对结果有影响,所以代码写在onshow里面,第一次还没给app.globalData.customer赋值的时候,打印的是undefined可以理解,但是已经赋值之后,切换tab页,进入onshow,getApp()返回的数据依然没有变化,这个是bug吗?求解决方法

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

3 个回答

  • 有涯 จุ๊บ
    有涯 จุ๊บ
    04-24

    应该是异步的 onShow拿到的还是初始值

    04-24
    有用
    回复
  • 🐷 佩奇跟我走🐷
    🐷 佩奇跟我走🐷
    2018-05-31

    我也遇到了相同的问题,全程控制台查看getApp()的内容,发现离开tap页面就没了。莫名其妙的,发的问题一直没有官方回复。

    2018-05-31
    有用
    回复 2
    • future
      future
      2018-05-31

      已经用其他方法代替了,写了一个方法,先读app.globalData,没有再读接口,将得到的customer通过回调把customer传回来

      2018-05-31
      回复
    • 🐷 佩奇跟我走🐷
      🐷 佩奇跟我走🐷
      2018-05-31

      这不是解决方法,重复调取跟不能存一个样。期待官方回复

      2018-05-31
      回复
  • 卢霄霄
    卢霄霄
    2018-05-30

    应该是你自己哪里的问题。你确定赋值了后,你在调试器的 Console终端里,let app = getApp() ,看看出来的app 里是不是globalData里有这个东西

    2018-05-30
    有用
    回复 1
    • future
      future
      2018-05-31

      确定是已经存到app.globalData.customer里了,然后getApp()还是获取不到存到globalData里的customer

      2018-05-31
      回复
登录 后发表内容