微信小程序中 navigateTo、redirectTo、reLaunch、switchTab 的区别
navigateTo
: 保留当前页面,跳转到应用内的某个页面,可以带参数。redirectTo
: 关闭当前页面,跳转到应用内的某个页面,可以带参数。reLaunch
: 关闭所有页面,打开到应用内的某个页面,可以带参数。switchTab
: 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,不可以带参数。
区别
navigateTo
之后是可以返回的(跳转后的页面左上角有返回的箭头),其他跳转方法都是关闭当前页面,所以不可以返回。
开发也可以使用 wx.navigateBack
方法返回上一页。
注意同样是页面跳转,switchTab
是不可以带参数的,其他几个方法都可以带参数。
使用场景
需要返回上一页的,使用 navigateTo
,但需要注意的是,不能一直这么 navigateTo
下去,否则积压的页面太多,影响性能。微信小程序中页面栈最多十层。
底部菜单栏(tabbar)理论上应该使用 switchTab
方法,实际应用中,也可以使用 redirectTo
方法。
如果跳转的目标页面没有 tabbar,请不要使用 switchTab
方法。