微信小程式路由跳轉
1.wx.switchTab(Object object)
這里的tabBar是底下的導航欄指定的頁面,
跳轉到 tabBar 頁面,并關閉其他所有非 tabBar 頁面
引數
Object object
| 屬性 | 型別 | 默認值 | 必填 | 說明 |
|---|---|---|---|---|
| url | string | 是 | 需要跳轉的 tabBar 頁面的路徑(需在 app.json 的 tabBar 欄位定義的頁面),路徑后不能帶引數, | |
| success | function | 否 | 介面呼叫成功的回呼函式 | |
| fail | function | 否 | 介面呼叫失敗的回呼函式 | |
| complete | function | 否 | 介面呼叫結束的回呼函式(呼叫成功、失敗都會執行) |
示例代碼
{
"tabBar": {
"list": [
{
"pagePath": "index",
"text": "首頁"
},
{
"pagePath": "other",
"text": "其他"
}
]
}
}
wx.switchTab({
url: '/index'
})
2.wx.reLaunch(Object object)
基礎庫 1.1.0 開始支持,低版本需做兼容處理,
關閉所有頁面,打開到應用內的某個頁面
引數
Object object
| 屬性 | 型別 | 默認值 | 必填 | 說明 |
|---|---|---|---|---|
| url | string | 是 | 需要跳轉的應用內頁面路徑,路徑后可以帶引數,引數與路徑之間使用?分隔,引數鍵與引數值用=相連,不同引數用&分隔;如 'path?key=value&key2=value2' | |
| success | function | 否 | 介面呼叫成功的回呼函式 | |
| fail | function | 否 | 介面呼叫失敗的回呼函式 | |
| complete | function | 否 | 介面呼叫結束的回呼函式(呼叫成功、失敗都會執行) |
示例代碼
wx.reLaunch({
url: 'test?id=1'
})
// test Page({ onl oad (option) { console.log(option.query) } })
3.wx.redirectTo(Object object)
關閉當前頁面,跳轉到應用內的某個頁面,但是不允許跳轉到 tabbar 頁面,
引數
Object object
| 屬性 | 型別 | 默認值 | 必填 | 說明 |
|---|---|---|---|---|
| url | string | 是 | 需要跳轉的應用內非 tabBar 的頁面的路徑, 路徑后可以帶引數,引數與路徑之間使用 ? 分隔,引數鍵與引數值用 = 相連,不同引數用 & 分隔;如 'path?key=value&key2=value2' |
|
| success | function | 否 | 介面呼叫成功的回呼函式 | |
| fail | function | 否 | 介面呼叫失敗的回呼函式 | |
| complete | function | 否 | 介面呼叫結束的回呼函式(呼叫成功、失敗都會執行) |
示例代碼
wx.redirectTo({
url: 'test?id=1'
})
4.wx.navigateTo(Object object)
保留當前頁面,跳轉到應用內的某個頁面,但是不能跳到 tabbar 頁面,使用 wx.navigateBack 可以回傳到原頁面,小程式中頁面堆疊最多十層,
引數
Object object
| 屬性 | 型別 | 默認值 | 必填 | 說明 |
|---|---|---|---|---|
| url | string | 是 | 需要跳轉的應用內非 tabBar 的頁面的路徑, 路徑后可以帶引數,引數與路徑之間使用 ? 分隔,引數鍵與引數值用 = 相連,不同引數用 & 分隔;如 'path?key=value&key2=value2' |
|
| success | function | 否 | 介面呼叫成功的回呼函式 | |
| fail | function | 否 | 介面呼叫失敗的回呼函式 | |
| complete | function | 否 | 介面呼叫結束的回呼函式(呼叫成功、失敗都會執行) |
示例代碼
wx.navigateTo({
url: 'test?id=1'
})
// test.js
Page({
onl oad(option) {
console.log(option.query)
}
})
5wx.redirectTo與wx.navigateTo的區別
1.利用wx.navigateTo跳轉到下一個頁面的時候(這時候會執行onHide方法),下一個頁面頭部會有回傳按鈕
2.如果不想有回傳按鈕,可以用wx.redirectTo進行頁面跳轉(這時候關閉此頁面,會執行onUnload生命周期,這樣下一個頁面就不會有回傳按鈕了,因為上一個頁面已經被關閉了,沒有頁面可以回傳)
6wx.navigateBack(Object object)
關閉當前頁面,回傳上一頁面或多級頁面,可通過 getCurrentPages() 獲取當前的頁面堆疊,決定需要回傳幾層,
引數
Object object
| 屬性 | 型別 | 默認值 | 必填 | 說明 |
|---|---|---|---|---|
| delta | number | 是 | 回傳的頁面數,如果 delta 大于現有頁面數,則回傳到首頁, | |
| success | function | 否 | 介面呼叫成功的回呼函式 | |
| fail | function | 否 | 介面呼叫失敗的回呼函式 | |
| complete | function | 否 | 介面呼叫結束的回呼函式(呼叫成功、失敗都會執行) |
示例代碼
// 注意:呼叫 navigateTo 跳轉時,呼叫該方法的頁面會被加入堆疊,而 redirectTo 方法則不會,見下方示例代碼
// 此處是A頁面
wx.navigateTo({
url: 'B?id=1'
})
// 此處是B頁面
wx.navigateTo({
url: 'C?id=1'
})
// 在C頁面內 navigateBack,將回傳A頁面
wx.navigateBack({
delta: 2
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/123470.html
標籤:Html/Css
上一篇:用原生JS找出所有的水仙花數
