小程序页面跳转
小程序页面跳转的四种方法
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
url | String | 是 | 需要跳转的应用内非tabBar的页面的路径,路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如“path?key=value&key2=value2” |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功,失败都会执行) |
语法:
函数名({
url: '',
success: function () {},
fail: function () {},
complete: function () {}
})
直接跳转:wx.navigateTo()
wx.navigateTo()
用于保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack
可以返回到原页面。
页面不是很多的小程序,推荐使用wx.navigateTo
进行跳转,以便返回原页面,以提高加载速度。当页面特别多时,不推荐使用
重定向:wx.redirectTO()
当页面过多时,被保留页面会挤占微信分配给小程序的内存,或是达到微信所限制的5层页面栈。这时推荐选择wx.redirectTo
wx.redirectTo()
用于关闭当前页面,跳转到应用内的某个页面,这样的跳转,可以避免跳转前页面占据运行内容,但返回时页面需要重新加载,增加了返回页面的显示时间
清空页面栈再跳转:wx.reLaunch()
wx.reLaunch()
与wx.redirectTo()
的用途基本相同,只是wx.reLaunch()
先关闭了内存中所有保留的页面,再跳转到目标页面
跳转至Tab Bar页面:wx.switchTab()
对于跳转到tab bar的页面,最好的选择wx.switchTab()
,它会先关闭所有非tab bar的页面
其次,也可以选择wx.reLaunch()
,它也能实现从非tab bar跳转到tab bar,或在tab bar间跳转,效果等同wx.switchTab()
关闭页面:wx.navigateBack()
wx.navigateBack()
用于关闭当前页面,并返回上一页面或多级页面,开发者可以通过getCurrentPages()
获取当前的页面栈,决定需要返回几层
这个API需要填写的参数只有delta
,表示要返回的页面数。若delta
的取值大于现有可返回页面数时,则返回到用户进入小程序的第一个页面