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