路由跳转层级问题

如何正确使用页面跳转

小程序最多只能有10个页面同时存在,意思是在不关闭页面的情况,最多新开10个页面,页面深度为10。
1 – 对于可逆操作,使用wx.navigateTo,比如从首页跳转到二级页面,从二级页面返回是不需要重新渲染首页
2 – 对于不可逆操作,使用wx.redirectTo或者wx.reLaunch,比如用户登录成功后,关闭登录页面,不能返回到登录界面。
3 – 对于一些介绍性等不常用页面wx.redirectTo或wx.navigatrBack
4 – 对于类似九宫格、列表项,使用跳转
不要在首页使用wx.redirectTo,这样会导致应用无法返回首页
简化需求、简化流程;核心功能在两三个页面完成便是张小龙追求『小而美』的体现

页面栈
页面栈以栈(先进后出)的形式维护页面与页面之间的关系;
小程序提供了getCurrentPages()函数获取页面栈,第一个元素为首页,最后一个元素为当前页面。
在这里插入图片描述
上图中,假如使用wx.navigateTo从四级页面跳转到二级页面,此时会在页面栈顶添加一个与二级页面初始状态一样的界面,但两个页面状态是独立的。页面栈大小会加1,如果页面栈大小为10,则wx.navigateTo无效

在这里插入图片描述
假如使用wx.redirectTo从四级页面重定向到二级页面,此时会将关闭四级页面,并使用二级页面替换四级页面,但两个页面状态是独立的。此时的页面栈大小不变,请注意和使用wx.navigateTo的区别。
在这里插入图片描述
上图中,假如当前页面为五级页面,使用wx.navigateBack:当delta为1,关闭五级页面,当前页面为四级页面,页面栈大小减1;当delta为2,关闭依次五级页面和四级页面,当前页面为三级页面,页面栈大小减2;以此类推,直到栈底为止,也就是首页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值