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

2019-11-12 次浏览

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

  在微信小程序里面,有通过页面或菜单跳转到菜单的情况,这时候使用的是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}

  (3)如果页面栈还没有要跳转的目标页面A a、若页面栈已经已满(length>=5),那么使用wx.redirectTo(页面A); b、否则,使用wx.navigateTo(页面A)

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

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

联系我们

  • 公司名称:深圳市创新梦想科技有限公司
  • 公司地址:广东省深圳市宝安区银田创意园元匠坊H座4楼
  • 联系电话:18820152035   4000-670-790
  • Copyright © 深圳市创新梦想科技有限公司 版权所有

    互联网软件开发及IT服务商 | 联系我们 | 粤ICP备17038158号