欢迎光临seo外链专员,seo网络推广专员网站

微信小程序开发谈页面跳转及5层限制的解决方案

作者:jcmp      发布时间:2021-04-19      浏览量:0
微信小程序的页面跳转场景在微信小程序里面

微信小程序的页面跳转场景

在微信小程序里面,有通过页面或菜单跳转到菜单的情况,这时候使用的是wx.switchTab;有通过页面或菜单跳转到页面的情况,这时候使用的是wx.navigateTo或wx.redirectTo,也可以使用页面控件navigator的url进行跳转。对于页面的后退,可以使用wx.navigateBack。

以上是微信小程序最常用的5种跳转方式,还有一种不常用,那就是wx.reLaunch,这种跳转方式默认是没有返回按钮的,如果要跳转到的页面不需要返回按钮,可以使用这种。

微信小程序的跳转限制

在微信小程序里面,页面层级的限制是5层,也就是说,使用navigateTo进行跳转的次数是5。微信的页面容器就好比是一个能装5个篮球的筐,每navigateTo一个页面,就会往筐里扔进去一个篮球,当进行页面回退的时候,就会把篮球取走一个,这样当navigate进筐的篮球的个数为5时便不能再往里放了,这时候页面也就不能再跳转了。使用时需要注意这个细节,如果有特殊需要,则需要重写这个筐的代码。

微信小程序的跳转函数和标签

跳转函数 :1.wx.reLaunch 2.wx.navigateTo 3.wx.navigateBack 4.wx.switchTab 5.wx.redirectTo。

跳转标签 :navigator-url

如何解决微信小程序的5层限制

解决方案

(1)自定义页面跳转方式

(2)当页面栈里已经存在要跳转的目标页面A,那么使用wx.navigateBack({delta: xx})返回到此页面A,{xx=getCurrentPages().length - 目标页面A在栈里的index - 1}

(4)页面间数据采用缓存传递

总之,判断当前要跳转的页面是否已经存在,再判断是否已经大于等于5层了,再对页面做处理。