收藏
回答

两个小程序相互跳转命中热启动,app.js的onshow执行进程会被阻断?

目前遇到的问题:小程序A的首页跳转到小程序B,再由小程序B跳回到小程序A的另外一个页面(非首页),此时对于小程序A来说是热启动,但是由于启动的是另外一个页面,导致app.js中onshow方法是在首页被执行的,紧接着跳转到另外一个页面,于是onshow的执行过程就被截断了。求问如何解决?

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

2 个回答

  • brave
    brave
    2022-04-24

    丢个代码片段看看 https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2022-04-24
    有用 3
    回复
  • 武曲心
    武曲心
    2022-04-24

    把小程序A的onShow全改成同步,等onShow执行完才展示页面内容,换一个角度想:你这个onShow的生命周期里的业务没弄完就要跳转吗?那不如直接打开小程序B得了

    2022-04-24
    有用
    回复 5
    • 剪来的话。
      剪来的话。
      2022-04-24
      不知道我描述的是否清楚,onshow中的逻辑是获取extraData并弹一个弹窗,没有异步操作。是小程序B跳回小程序A时调用navigateToMiniProgram时配置的path是小程序A的非首页页面(比如商品详情页)。这个时候的表现是会先回到小程序A的首页,app.js中的onshow方法会在首页时就开始执行(弹出弹窗),然后就跳到商品详情页去了,(期望是app.js的onshow中的弹窗在进入商品详情页时再弹起)
      2022-04-24
      回复
    • 武曲心
      武曲心
      2022-04-24回复剪来的话。
      把extraData存到globalData,到详情页也再去获取,取到就在详情页弹窗
      2022-04-24
      回复
    • 剪来的话。
      剪来的话。
      2022-04-24回复武曲心
      这个办法想过,但是因为小程序跳回来的页面不只有详情页一个,case by case去解决相对麻烦些,所以就想探索下在app.js实现的可能性~
      2022-04-24
      回复
    • 武曲心
      武曲心
      2022-04-24回复剪来的话。
      extraData数据上做标识,每个详情都获取数据,判断到相应标识才弹窗
      2022-04-24
      回复
    • 武曲心
      武曲心
      2022-04-24回复剪来的话。
      用route的path给数据做标识也可以
      2022-04-24
      回复
登录 后发表内容