小程序中实现页面导航的两种方式
1.声明式导航
在页面上声明一个 <navigator>
导航组件
通过点击 <navigator>
组件实现页面跳转
1.编程式导航
调用小程序的导航 API
,实现页面的跳转
1.声明式导航
导航到 tabBar 页面
在使用 <navigator>
组件跳转到指定的 tabBar
页面时,需要指定 url
属性和 open-type
属性,其中:
url
表示要跳转的页面的地址,必须以/
开头
open-type
表示跳转的方式,必须为 switchTab
示例代码如下:
<navigator ur1="/pages/message/message" open- type=" switchTab">导航到消息页面</navigator>
导航到非 tabBar 页面
非 tabBar
页面指的是没有被配置为 tabBar 的页面。
在使用 <navigator>
组件跳转到普通的非 tabBar
页面时,则需要指定 url
属性和 open-type
属性,其中:
url
表示要跳转的页面的地址,必须以/
开头
open-type
表示跳转的方式,必须为 navigate
示例代码如下:
<navigator url="/pages/info/info" open- type="navigate">导航到info页面</navigator>
注意:为了简便,在导航到非 tabBar 页面时,open-type="navigate" 属性可以省略。
后退导航
如果要后退到上一页面或多级页面,则需要指定 open-type
属性和 delta
属性,其中:
open-type
的值必须是 navigateBack
,表示要进行后退导航
delta
的值必须是数字,表示要后退的层级
示例代码如下:
<navigator open-type= 'navigateBack' delta='1'>返回 上一页</navigator>
注意:为了简便,如果只是后退到上一页面,则可以省略 delta 属性,因为其默认值就是 1。
2.编程式导航
导航到tabbar
页面
<button bindtap="jb">跳转到jb</button>
jb() {
wx.switchTab({
url: '/pages/jb/jb',
})
},
导航到非tabbar
页面
<button bindtap="gotoInfo">跳转到info页面</button>
gotoInfo() {
WX.navigateTo({
url:'/pages/info/info'
})
}
后退上一页
<button bindtap=" gotoBack">后退</button>
// 编程式导航,后退到上一页面
gotoBack() {
wx.navigateBack()
}