同页面不同参数导航栏返回无法触发onShow,开过一次调试模式后可以
发布于 6 年前 作者 fengmin 9747 次浏览 最后一次编辑是 5 年前 来自 问答

更新问题与描述:

已定位问题,同一页面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,每开调试模式,就(临时)屏掉了缓存页,一切正常。

__
__

姐百思不得其解。。。

2 回复

X5啊诺克特特films五我1/-%./-%1555524/-%/%_

有没有代码片段?

回到顶部