路由的跳转分为两类:标签式跳转和编程式跳转。当然微信小程序也不列外。
1.标签式跳转
//此种跳转会发生压栈,不能跳转到tabBar设置的页面
<navigator url="/pages/one/one">one</navigator>
//此种跳转不会发生压栈,也不能跳转到tabBar设置的页面
<navigator url="/pages/one/one" open-type="redirectTo">one</navigator>
//专门跳转到tabBar设置得页面
<navigator open-type="navigateTo" url="/pages/two/two"> two</navigator>
注(发生压栈的路由跳转可以使用navigateBack,关闭当前页面,返回上一页面或多级页面)
2.编程式跳转
<button bindtap="go">one</button>
<button bindtap="goIndex">index</button>
//不会发生压栈,不能跳转到tabBar设置的页面
go(){
wx.redirectTo({
url: '/pages/one/one',
})
},
//发生压栈但是不能跳到tarBar设置的页面
go(){
wx.navigateTo({
url: '/pages/one/one',
})
},
//不会发生压栈,跳转到tabBar设置的页面
goIndex(){
wx.switchTab({
url: '/pages/index/index',
})
}
//可以跳转到任何页面,但不会发生压栈
goIndex(){
wx.reLaunch({
url: '/pages/index/index',
})
}
路由传参:
goIndex(){
wx.reLaunch({
url: '/pages/index/index?id=6',
})
}
onLoad: function (options) {
//打印其他页面传过来的值
console.log(options.id)
},
更多细节请去官网查看:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.reLaunch.html