小程序无限层级路由方案小程序原生页面存在层级限制,超过一定层数就会无法打开新页面。一开始这个限制为不超过5层,目前是不超过10层。 这个限制对于体量较大的小程序来说,挺难受的。特别是只能打开5层那会儿,业务流程很容易一不小心就超了,比如:首页-搜索结果页-商品详情页-聊天页-下单页-地址选择页-...;更有访问回路防不胜防,比如:商品详情页-查看更多页-商品详情页-查看更多页-...、商品详情页-聊天页-个人主页-商品详情页-聊天页-个人主页-商品详情页-...、诸如此类。即使后来放宽至了10层,还是很容易遭遇层级溢出。 一种处理思路是调整交互路径,严格控制层级数量。但是这种处理方案,一则很多时候会牺牲用户体验,比如为避免个人主页和商品详情页的访问回路,要么不能在个人主页中访问用户商品,要么不能在商品详情页中访问卖家主页,要么访问时需要替换当前不能返回继续浏览,不管怎么取舍都会牺牲某些用户的浏览诉求;二则维护成本特别高,业务逻辑越来越复杂,交互路径越来越发散,路径的统一梳理和规划就会越来越困难,而且管理过程对业务不透明,业务方在设计需求时要受到交互路径的种种限制,甚至一个需求的交互调整很可能无意中造成另一个需求层级溢出,维护成本高且不断膨胀。 因而本文考虑并实现了另一种处理思路:在小程序中支持不限层级的路由过程。 策略
逻辑层级 1 - 2 - ... - 8 - 9 - 10 实际层级 1 - 2 - ... - 8 - 9 - 10 打开 逻辑层级 1 - 2 - ... - 8 - 9 - 10 - 11 实际层级 1 - 2 - ... - 8 - 9 - 11 打开,打开,打开 逻辑层级 1 - 2 - ... - 8 - 9 - 10 - 11 - 12 - 13 - 14 实际层级 1 - 2 - ... - 8 - 9 - 14 返回 逻辑层级 1 - 2 - ... - 8 - 9 - 10 - 11 - 12 - 13 实际层级 1 - 2 - ... - 8 - 9 - 13 返回,返回,返回 逻辑层级 1 - 2 - ... - 8 - 9 - 10 实际层级 1 - 2 - ... - 8 - 9 - 10 返回 逻辑层级 1 - 2 - ... - 8 - 9 实际层级 1 - 2 - ... - 8 - 9 实现
主要难点及实现方案:
成本
收益
详见issue:[两级页面为同一路由时,后者数据覆盖前者 - 策略:返回时,若判断目标页面数据已被覆盖,则自动予以恢复 - 引入:参见模块使用说明
效果 |
小程序无限层级路由方案
发布:2018-09-20 08:50浏览: 次来源:网络 作者:cola
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
相关文章
- 微信小程序app.json文件常用配置说明2021-07-09
- 微信小程序文字控制单行超过显示省略号2021-07-09
- 微信小程序参数传递的几种方法2021-07-09
- 微信小程序使用button按钮分享2021-07-09
- 微信小程序的setData2021-07-09
- 小程序分享,获取openid2021-07-08
- 微信小程序-实现tab2021-07-08
- 微信开发者工具新建和导入小程序2021-07-08
- 微信小程序实现点击拍照长按录像功能2021-07-08
- 微信小程序必知知识2021-07-08