接下来总结一下跳转的方法:
1.API跳转
wx.navigateTo({...})
wx.redirectTo({...})
wx.switchTab({...})
wx.reLanch({...})
(1) wx.navigateTo({...})
不会销毁当前页面,仅仅是将其hide,使用wx.navigateBack可以返回到原页面。
注意:调用navigateTo 跳转时,调用该方法的页面会被加入堆栈中
// 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。 wx.navigateTo({ url: 'page/home/home' // 页面 A }) wx.navigateTo({ url: 'page/detail/detail' // 页面 B }) // 跳转到页面 A wx.navigateBack({ delta: 2 })
(2)wx.redirectTo({...})
关闭当前页面,跳转到应用内对应的某个页面
(3) wx.switchTab({...})
跳转到tabBar页面(在app.json中注册过的tabBar页面),同事关闭其他非tabBar页面
(4) wx.reLanch({...})
关闭所有页面,打开到应用内的某个页面。
2.wxml页面组件跳转(
// navigator 组件默认的 open-type 为 navigate跳转到新页面 // redirect 对应 API 中的 wx.redirect 方法在当前页打开 // switchTab 对应 API 中的 wx.switchTab 方法切换 Tab // reLanch 对应 API 中的 wx.reLanch 方法关闭所有页面,打开到应用内的某个页面 // navigateBack 对应 API 中的 wx.navigateBack 方法关闭当前页面,返回上一级页面或多级页面