小程序中用于跳转页面的5个API及其区别如下:
- wx.navigateTo(options)
- 功能:保留当前页面,跳转到应用内的某个页面,使用
wx.navigateBack
可以返回到原页面。 - 特性:可以打开新的页面,新页面可以是tabBar页面,最多可以打开10个页面。
- 参数:
options
为一个对象,包括url
(需要跳转的页面路径,必填)、success
(跳转成功后的回调函数)、fail
(跳转失败后的回调函数)等属性。
- 功能:保留当前页面,跳转到应用内的某个页面,使用
- wx.redirectTo(options)
- 功能:关闭当前页面,跳转到应用内的某个页面,使用
wx.navigateBack
无法返回到原页面。 - 特性:与
wx.navigateTo
类似,但关闭当前页面,无法返回。
- 功能:关闭当前页面,跳转到应用内的某个页面,使用
- wx.reLaunch(options)
- 功能:关闭所有页面,打开到应用内的某个页面。
- 特性:最彻底的重定向方式,会关闭所有页面。
- wx.switchTab(options)
- 功能:跳转到tabBar页面,并关闭其他所有非tabBar页面。
- 特性:只能跳转到tabBar页面,常用于底部导航栏的页面切换。
- wx.navigateBack(options)
- 功能:关闭当前页面,返回上一页面或多级页面。
- 特性:用于页面返回,可以通过
delta
参数指定返回的页面数。
区别归纳:
- 保留与关闭:
wx.navigateTo
保留当前页面,而wx.redirectTo
和wx.reLaunch
关闭当前页面。 - 返回能力:
wx.navigateTo
可以通过wx.navigateBack
返回原页面,而wx.redirectTo
无法返回。 - 页面数限制:
wx.navigateTo
、wx.redirectTo
和wx.reLaunch
打开新页面时,最多可以打开10个页面。 - 目标页面:
wx.switchTab
只能跳转到tabBar页面,而其他API可以跳转到任意页面。 - 重定向级别:
wx.reLaunch
是最彻底的重定向,会关闭所有页面;而wx.navigateBack
只是关闭当前页面并返回。
以上API的使用可以根据具体业务需求灵活选择。