由于页面跳转需要一定的时间,在完成跳转前,触发该跳转的事件可能多次发生。
例如多次按键,我碰到的问题是扫码完成以后的跳转,从调试记录上面看到触发了多次扫码完成事件,从而导致多次跳转。出现这种情况后,会把同一个页面多次压入堆栈,当按返回键时,也同样需要按多次才能回退到上一页面。
解决办法1:函数节流
解决办法2:对于按键事件,可以在按钮触发后增加设定disable属性,控制按钮不被响应
解决办法3:设定一个变量,作用类似锁定,当第一次进入函数时,修改该变量,当第二次进入函数时,判断该变量值,从而避免操作第二次。这个办法要注意变量的作用范围。
对于扫码触发事件,我就使用了这个办法,当扫码完成后,进行页面跳转,跳转之前写变量,并保存至缓存,在新页面读取并修改该数据,重新写回缓存;这样做的目的是当按返回时,重新读取缓存数据,还能进行扫码并跳转页面,否则返回后就不能重新进行扫码跳转了。
小程序多次事件触发导致页面连续跳转问题解决
最新推荐文章于 2024-01-10 13:52:14 发布