收藏
回答

如何保证wx.onAppShow只在退出小程序重新进入的时候调用?

有些api总能调用到wx.onAppShow,比如wx.previewImage,怎么保证这个api只在退出小程序重新进的时候被调用

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

2 个回答

  • 鸡鸡鸡镜。
    鸡鸡鸡镜。
    2020-10-16

    有些操作例如调起分享、调起选择地址、调起选择图片、预览图片会依次触发 onHide() onShow(),要是 onShow() 里面做了根据 options.query 的逻辑确实就有点麻烦了(因为会多次触发 onShow()

    蛋疼的解决方法是搞个全局变量,例如调起分享时设置 global.isShare = true; onShow()是发现 global.isShare = true 不处理,而且恢复 global.isShare = false,以此类推

    2020-10-16
    有用
    回复
  • TNT
    TNT
    2020-04-26

    这个貌似不行吧。。wx.previewImage还会触发页面onShow呢。。。

    2020-04-26
    有用
    回复 5
    • TNT
      TNT
      2020-04-26
      wx.onAppRouteDone wx.onAppRoute
      2020-04-26
      回复
    • 
      2020-04-26回复TNT
      有个进小程序就弹窗的需求,写在onAppShow里的,但只要看了大图,首页就又弹了窗
      2020-04-26
      回复
    • TNT
      TNT
      2020-04-26回复
      你这样吧。。加个全局变量。previewImage后设置为true。其实挺难受的 我最初做这个也是,previewImage触发了onShow导致我存的数据出现问题,提交后就gg了 后来才知道会触发onShow
      2020-04-26
      回复
    • 
      2020-04-26回复TNT
      大佬我想问下,每调用一次看大图,onAppShow的触发就会叠加一次是为啥
      2020-04-26
      回复
    • TNT
      TNT
      2020-04-26回复
      调用预览图后页面会进入 onHide。关闭预览后就会触发onShow
      2020-04-26
      回复
登录 后发表内容
问题标签