收藏
回答

在app.js的onLaunch里面给全局变量赋值了,其他页面只能拿到初始值

请问一下,在app.js的onLaunch里面给全局变量赋值了,其他页面只能拿到初始定义的空值,是不是因为

wx.login()的原因?



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

2 个回答

  • Api调用师
    Api调用师
    2023-07-07

    这个还是异步问题,有对应的方案。

    小程序app.onLaunch与page.onLoad异步问题的最佳实践? - 微信开放社区 https://developers.weixin.qq.com/community/develop/article/doc/00002ac57208f0e7335d111f156013

    2023-07-07
    有用 1
    回复
  • 刘弘愿
    刘弘愿
    2018-06-05

    看到问题原因了。。。你2个success的(res)名字不能一样。。。

    不然后一个会默认为login-success(res)里面去取值

    2018-06-05
    有用
    回复 11
    • Mr.木易
      Mr.木易
      2018-06-05

      不是这个原因,是因为onLaunch是异步在onLoad后面执行,其他页面我是在onLoad里面获取全局变量的,谢谢!


      2018-06-05
      回复
    • 刘弘愿
      刘弘愿
      2018-06-05

      我的小程序里面的globa数据我在其他页面onload也能正常取值。。。我也是在launch里设置的globa数据

      2018-06-05
      回复
    • Mr.木易
      Mr.木易
      2018-06-05回复刘弘愿

      可不可以看看你写的代码?谢谢

      2018-06-05
      回复
    • 刘弘愿
      刘弘愿
      2018-06-06回复Mr.木易

      按照逻辑来说 APPjs里面的launch是最先执行的。。。执行完了才会执行其他页面的onload

      我在launch里面做了登录授权。。APP打开都是先走的授权登录。。才加载的其他页面。。。所以不存在globa数据空值的情况。。。我感觉你这个问题真的可能是res的问题


      2018-06-06
      回复
    • Mr.木易
      Mr.木易
      2018-06-06回复刘弘愿

      我改了也不行,应该就是异步的原因

      2018-06-06
      回复
    查看更多(6)
登录 后发表内容