2857关注8416浏览
更新问题与描述:
已定位问题,同一页面A的不同参数页A1与A2,从A1跳入A2可以压入页面栈,并触发A2里的onShow,从A2页面返回(导航栏)到A1页面,无法再触发A1页面的onShow,
实测中,手机小程序在开过一次调试模式后,变成可以触发onShow,在删掉小程序重新进入,无法触发onShow.
需求:不开调试模式,能够同页面回退触发onShow
以下是原描述:
如题,我在登录页后跳到的首页(下称bug页)里的onShow里写了刷新函数,
目的:为了后台切前台和页面后退触发onShow时刷新页面,
结果:
1.在开发工具下表现正常;
2.删除小程序,然后扫码初次进入,走登录页流程,跳到bug页,bug页无刷新,点进子页,返回bug页面,无刷新,后台切前台,停留bug页无刷新;
3.打开调试模式,一切正常刷新;关闭调试模式,一切仍然保持正常;
4.删掉小程序,重新进入,bug页不刷新。
注:这里的不刷新就是没触发onShow,我做了验证,并不是刷新函数问题。
也就是说,没开过调试模式初次进入,bug页的onShow不触发,开过一次调试后,即使关闭调试,也都正常了。
请问调试模式如何能影响onShow的表现,调试模式下正常我根本没办法定位原因。
我已尝试了简单demo,没法重现这个bug
注:我的刷新函数,在onReady里初始执行一次,然后都在onShow里触发(做了处理,没有重复执行),我尝试过在onLoad和onShow里初次,但是图表渲染都会抖动,只有onReady里初次,才不会抖, 不管哪里初始化,都会有本提问的bug。
!!!我的另一个尝试!!!:
把bug页面的onLoad,onReady,onShow里所有逻辑全部注释掉,只在onShow里弹个框,bug如旧,并且表现出页面缓存!!!,
即删除小程序,扫码进入,重新正常走了登录流程,进入到bug页,理应是逻辑全被注释只在onShow里有弹框的空白bug页,却展示出了图表(缓存页),可以从该缓存页点进去子页面,返回该缓存页未触发空白bug页里的弹框,
打开调试模式,一切正常,bug页表现空白且正常弹框,关闭调试模式,仍然正常。这个时候不是应该有了空白页的新缓存吗?然而,删除小程序,重来一遍,仍然进入了有图表的那个顽固缓存页。
每删除小程序,重来一次,都会进入顽固缓存页导致bug,每开调试模式,就(临时)屏掉了缓存页,一切正常。
姐百思不得其解。。。
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
xlxl心累
11人对此回答表示赞同
有没有代码片段?
展开1110回复分享发布于 6年前评论(10)
收起评论
啊,我不是官方人员。语气不冲啊。。
不好意思,还以为你就是官方人员,语气有点冲不
昨天试了下像是有缓存。不过不确定。
所以是不能同页面回退触发onShow的意思?只能静态展示上一页的缓存?
我这里是首页和详情页的概念,点进去子页要用导航键返回首页的
自己写按钮也是用navigateBack,难不成用这个就能触发?合理吗?
是导航栏的后退,
后面想了想,你同样的样式逻辑,只改了id,为啥不直接替换id,然后直接刷新?
你返回是页面上自己的按钮还是导航栏的后退?
大哥,你仔细看我的问题描述,是代码片段能解决的吗?