前言:小程序页面之间的互相跳转,页面个数是开发工程师要考虑的问题。微信官方之前给出的最大页面堆栈是5,现在改为了10,如果超过最大堆栈数,会报错Maximum call stack size exceeded。
另一方面,为了让用户体验更好,小程序可以保留之前打开的page页面,当用户back时,直接就显示之前的page,这样会让小程序更像是原生app,体验很顺畅,明显优于H5的体验。
今天连胜老师来说一说,在小程序中page返回上一页面的逻辑~
一、页面A可跳至页面B,且页面B不可分享,只能从页面A进入
这种back的实现很简单,直接wx.navigateBack即可。
二、页面A可跳至页面B,页面B可以分享
当页面B可分享时,用户打开的第一个页面可能是A,也可能是B,所以,这里需要判断当前的pageCount,然后做出相应处理:
如果首页使用了tabbar,请注意,要把wx.redirectTo换成wx.swichTab。
三、页面A可跳至页面B或C,页面B可跳至页面C,并且B和C两页面均可单独分享
这种返回上一页,就只能通过URL参数来判断了,比如A到C页面时,url中from=a;B到C页面时,url中from=b;这样就可以通过URL参数,清楚的区分C页面的上一级页面了~
这里就假设这几种场景,具体的产品实现,建议不要把这个跳转逻辑设计的太深~
往期回顾