onShow执行次数问题

小弟最近在做群排行,群排行需要获取shareTicket,通过查询,如果从点击分享出去的卡片进入小游戏,可以wx,getLaunchOptionsSync函数(第一次启动)和wx.onShow 函数获取到shareTicket,再去调用微信接口拿到群成员数据。
现在我想在A场景获取shareTicket,但是我发现如果你做过从A场景进入B场景再返回A场景的操作,那么下次无论你是从卡片进入还是从微信顶部导航栏进入A场景,它里面的wx.onShow都会执行多一次,就是说你做十次这样的操作,那么wx.onShow就会执行十次?这是为什么呢?有什么解决办法吗?请各位大神指教

:disappointed_relieved:不明觉厉

大家都说在onShow里面获取shareTicket或者query参数,难道没有遇到过这个问题吗:sob:,我发现之前有人提过这个问题的,传送门http://forum.cocos.com/t/wx-onshow/59382

:disappointed_relieved:没看明白你的问题,你发的那个链接的里面的问题已经有人在下面说了

对,就是为什么每次加载一个场景之后就会多调用一次wx.onShow?

onShow回调是不是绑定了两次 我做了一个恶心的 标志 保证onshow绑定回调直走一次

onShow一次如果不offShow掉就会一直存在,所以多次onShow就会叠加。 offShow调用需谨慎,不小心就是黑屏伺候。调用方式参考下图,不保证是否符合规定。但是能用。

1赞