小程序无限层级路由无框架解决方案

2024-11-04 14:02:24

小程序历史栈最多只支持10层当小程序业务比较复杂时,就很容易超过10层。当超过10层后,有的机型是点击无反应,有的机型会出现一些未知错误为了解决这些问题,我们引入了无限层级路由方案。

工具/原料

小程序开发工具

方案及关键点

1、是基于wepy框架做的处理,由于用的是mpvue,所以对这个方案上做了修改,同时不依赖于框架。虽然是改造版,但原理是一样的,下面我来介绍一下修改后的方案。

2、几个关键点:1.9层(含9层)以内时:走小程序自己的历史栈就ok了,跳转时候更新一下逻辑栈,这没啥可说的2.从9层跳转10贫脊雪赙层:需要把第9层重定向到中转页,再由中转页跳转到10层3.10层以后跳转:在navigateTo方法中处理,到10层之后,再跳转就第10层页面一直做redirectTo(重定向)操作了4.10层以上返回:会返回到中转页,由中转页判断,具体返回到哪个页面,然后navigateTo(跳转)过去5.从10层返回到9层:返回到中转页,将中转页redirectTo(重定向)到第9层页面6.9层内的返回:直接返回就好了,返回时候不会更新逻辑栈,但没有关系,因为只有中转页才会用到逻辑栈7.逻辑栈更新机制:跳转、返回中转页时更新navigateTo时更新redirectTo时更新reLaunch时更新navigateBack时更新

小程序无限层级路由无框架解决方案小程序无限层级路由无框架解决方案
猜你喜欢