微信小程序頁面導(dǎo)航介紹及使用詳解
頁面導(dǎo)航
1. 什么是頁面導(dǎo)航
頁面導(dǎo)航指的是 頁面之間的相互跳轉(zhuǎn) 。例如,瀏覽器中實現(xiàn)頁面導(dǎo)航的方式有如下兩種:
① <a> 鏈接
② location.href
2. 小程序中實現(xiàn)頁面導(dǎo)航的兩種方式
① 聲明式導(dǎo)航
在頁面上聲明一個 <navigator> 導(dǎo)航組件 通過點擊 <navigator> 組件實現(xiàn)頁面跳轉(zhuǎn)
② 編程式導(dǎo)航
調(diào)用小程序的導(dǎo)航 API,實現(xiàn)頁面的跳轉(zhuǎn)
聲明式導(dǎo)航
1. 導(dǎo)航到 tabBar 頁面
tabBar 頁面 指的是被配置為 tabBar 的頁面。
在使用 <navigator> 組件跳轉(zhuǎn)到指定的 tabBar 頁面時,需要指定 url 屬性和 open-type 屬性,其中:
- url 表示要跳轉(zhuǎn)的頁面的地址,必須以 / 開頭
- open-type 表示跳轉(zhuǎn)的方式,必須為 switchTab
示例代碼如下:
<navigator url="/pages/message/message" open-type="switchTab">導(dǎo)航到消息頁面</navigator>
2. 導(dǎo)航到非tabBar頁面
非 tabBar 頁面 指的是沒有被配置為 tabBar 的頁面。
在使用 <navigator> 組件跳轉(zhuǎn)到普通的非 tabBar 頁面時,則需要指定 url 屬性和 open-type 屬性,其中:
- url 表示要跳轉(zhuǎn)的頁面的地址,必須以 / 開頭
- open-type 表示跳轉(zhuǎn)的方式,必須為 navigate
示例代碼如下:
<navigator url="/pages/info/info" open-type="navigate">導(dǎo)航到info頁面</navigator>
注意:為了簡便,在導(dǎo)航到非 tabBar 頁面時,open-type="navigate" 屬性可以省略。
3. 后退導(dǎo)航
如果要后退到上一頁面或多級頁面,則需要指定 open-type 屬性和 delta 屬性,其中:
- open-type 的值必須是 navigateBack,表示要進行后退導(dǎo)航
- delta 的值必須是數(shù)字,表示要后退的層級
示例代碼如下:
<navigator open-type="navigateBack">后退</navigator>
注意:為了簡便,如果只是后退到上一頁面,則可以省略 delta 屬性,因為其默認值就是 1。
編程式導(dǎo)航
1. 導(dǎo)航到 tabBar 頁面
調(diào)用 wx.switchTab( Object object ) 方法,可以跳轉(zhuǎn)到 tabBar 頁面。其中 Object 參數(shù)對象 的屬性列表如下:
| 屬性 | 類型 | 是否必選 | 說明 |
| url | string | 是 | 需要跳轉(zhuǎn)的 tabBar 頁面的路徑,路徑后不能帶參數(shù) |
| success | function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
| fail | function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
| complete | function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
示例代碼如下:
<button bindtap="gotoMessage">跳轉(zhuǎn)到message頁面</button>
gotoMessage() {
wx.switchTab({
url: '/pages/message/message'
})
},2. 導(dǎo)航到非tabBar頁面
調(diào)用 wx.navigateTo( Object object ) 方法,可以跳轉(zhuǎn)到非 tabBar 的頁面。其中 Object 參數(shù)對象 的屬性列表
如下:
| 屬性 | 類型 | 是否必選 | 說明 |
| url | string | 是 | 需要跳轉(zhuǎn)的 tabBar 頁面的路徑,路徑后不能帶參數(shù) |
| success | function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
| fail | function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
| complete | function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
示例代碼如下:
<button bindtap="gotoInfo">跳轉(zhuǎn)到info頁面</button>
gotoInfo() {
wx.navigateTo({
url: '/pages/info/info'
})
},3. 后退導(dǎo)航
調(diào)用 wx.navigateBack( Object object ) 方法,可以返回上一頁面或多級頁面。其中 Object 參數(shù)對象
可選的
屬性列表如下:
| 屬性 | 類型 | 默認值 | 是否必選 | 說明 |
| delta | number | 1 | 否 | 返回的頁面數(shù),如果 delta 大于現(xiàn)有頁面數(shù),則返回到首頁 |
| success | function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) | |
| fail | function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) | |
| complete | function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
示例代碼如下:
<button bindtap="goBack">后退</button>
goBack() {
wx.navigateBack({
delta: 1
})
},到此這篇關(guān)于微信小程序頁面導(dǎo)航介紹及使用詳解的文章就介紹到這了,更多相關(guān)小程序頁面導(dǎo)航內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
iframe中子父類窗口調(diào)用JS的方法及注意事項
本文給大家介紹iframe中子父類窗口調(diào)用JS的方法及注意事項,介紹的超詳細,需要的朋友快來學(xué)習(xí)下2015-08-08
在TypeScript中迭代對象鍵Object.keys不起作用的原因和解決方案
在TypeScript中迭代對象鍵object?keys可能是一場噩夢,以下是我所知道的所有解決方案,文中有詳細的代碼示例供大家參考,具有一定的參考價值,需要的朋友可以參考下2023-10-10
jstl中判斷l(xiāng)ist中是否包含某個值的簡單方法
下面小編就為大家?guī)硪黄猨stl中判斷l(xiāng)ist中是否包含某個值的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10
uin-app+mockjs實現(xiàn)本地數(shù)據(jù)模擬
這篇文章主要為大家詳細介紹了uin-app+mockjs實現(xiàn)本地數(shù)據(jù)模擬,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-08-08

