微信小程序 > 微信公开课 > onShow生命周期被错误的重复调用
微信小程序,微信公开课,onShow生命周期被错误的重复调用

onShow生命周期被错误的重复调用

2019-03-15 18:15:58

微信公开课小程序热门讨论关于「onShow生命周期被错误的重复调用」的小程序开发问题
补充:当前Bug的表现(可附上截图)小程序首页onShow生命周期在保持小程序面板不关闭的情况下会被调用两次预期表现onShow被调用一次复现路径下拉小程序面板,点击进入小程序(onShow输出1次,正确)点击右上角
展开:当前Bug的表现小程序首页onShow生命周期在保持小程序面板不关闭的情况下会被调用两次预期表现onShow被调用一次复现路径下拉小程序面板,点击进入小程序(onShow输出1次,正确)点击右上角关闭小程序保持小程序下拉面板,再次点进小程序(onShow输出2次,不正确)小程序下拉面板指的时下图红框内部分,个人测试发现一旦收起该面板重新下拉再进入onShow能够正常被调用1次)提供一个最简复现DemoPage({onShow(){consolelog(onShow);}})即速小程序:希望官方关注一下哈,这种对于需要自动登陆的小程序会有很大的影响:看你说的,发现我们也是的,onSHow和onHide都调用了2次:我也遇到相同的问题了Appjs里的onShow也一样有相同的问题暂时只能自己设个标识来侦测onShow是否已经被调用过了以下这个办法是不得已的办法,但是如果要在每个Page里都做这个判断的话问题就严重了,得重写Page,用Component来替代,但是那又牵扯出更多的问题onShow:function(){consolelog(thisglobalDataonShow);第一次被调用返回为False,第二次错误被调用返回为Trueif(!thisglobalDataonShow){executecodethisglobalDataonShow=true;}},onHide:function(){thisglobalDataonShow=false;}找到一个应该可以暂时使用的方法,也不影响已经定义的onShow和onHidecustompagejsletcustomPage=function(options){ optionsonShowFlag=false;letonShowFunction=optionsonShow;这里自行做错误监测optionsonShow=function(){if(!thisonShowFlag){onShowFunctioncall(this,arguments);thisonShowFlag=true;}};letonHideFunction=optionsonHide;这里自行做错误监测optionsonHide=function(){thisonShowFlag=false;onHideFunctioncall(this,arguments);};returnoptions;}pagePage(newcustomPage({onShow:function(){},onHide:function(){}}));
更多有关「onShow生命周期被错误的重复调用」的讨论可以前往微信公开课小程序参与互动哦!
标签:微信公开课,小程序
微信小程序,微信公开课,onShow生命周期被错误的重复调用

「onShow生命周期被错误的重复调用」热门讨论订阅

方法1:微信扫描微信公开课小程序码即可订阅热门讨论「onShow生命周期被错误的重复调用」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「onShow生命周期被错误的重复调用」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「onShow生命周期被错误的重复调用」

微信公开课小程序热门讨论「onShow生命周期被错误的重复调用」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热门讨论「onShow生命周期被错误的重复调用」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。