新手跳坑。你寫的路徑路由是正確的,但是發現點擊了,一點反應也沒有,很可能是下下面幾種原因:
1:你要跳轉的是tabBar中的頁面,需要用到專屬的跳轉方法switchtab
2:在app.js中沒有配置該頁面
3:頁面層級是不是超過五層了。可以用銷毀的跳轉方式
wx.navigateTo(OBJECT)
保留當前頁面,跳轉到應用內的某個頁面,使用wx.navigateBack可以返回到原頁面。
OBJECT 參數說明:
| 參數 | 類型 | 必填 | 說明 |
| url | String | 是 | 需要跳轉的應用內非 tabBar 的頁面的路徑 , 路徑后可以帶參數。參數與路徑之間使用?分隔,參數鍵與參數值用=相連,不同參數用&分隔;如 'path?key=value&key2=value2' |
| success | Function | 否 | 接口調用成功的回調函數 |
| fail | Function | 否 | 接口調用失敗的回調函數 |
| complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
示例代碼:
wx.navigateTo({
url: 'test?id=1'
})
//test.js
Page({
onLoad: function(option){
console.log(option.query)
}
})
注意:目前頁面路徑最多只能十層。
wx.redirectTo(OBJECT)
關閉當前頁面,跳轉到應用內的某個頁面。
OBJECT 參數說明:
| 參數 | 類型 | 必填 | 說明 |
| url | String | 是 | 需要跳轉的應用內非 tabBar 的頁面的路徑,路徑后可以帶參數。參數與路徑之間使用?分隔,參數鍵與參數值用=相連,不同參數用&分隔;如 'path?key=value&key2=value2' |
| success | Function | 否 | 接口調用成功的回調函數 |
| fail | Function | 否 | 接口調用失敗的回調函數 |
| complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
示例代碼:
wx.redirectTo({
url: 'test?id=1'
})
wx.reLaunch(OBJECT)
基礎庫 1.1.0 開始支持,低版本需做 兼容處理
關閉所有頁面,打開到應用內的某個頁面。
OBJECT 參數說明:
| 參數 | 類型 | 必填 | 說明 |
| url | String | 是 | 需要跳轉的應用內頁面路徑 , 路徑后可以帶參數。參數與路徑之間使用?分隔,參數鍵與參數值用=相連,不同參數用&分隔;如 'path?key=value&key2=value2',如果跳轉的頁面路徑是 tabBar 頁面則不能帶參數 |
| success | Function | 否 | 接口調用成功的回調函數 |
| fail | Function | 否 | 接口調用失敗的回調函數 |
| complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
示例代碼:
wx.reLaunch({
url: 'test?id=1'
})
//test.js
Page({
onLoad: function(option){
console.log(option.query)
}
})
wx.switchTab(OBJECT)
跳轉到 tabBar 頁面,並關閉其他所有非 tabBar 頁面
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'
})
wx.navigateBack(OBJECT)
關閉當前頁面,返回上一頁面或多級頁面。可通過
getCurrentPages()) 獲取當前的頁面棧,決定需要返回幾層。
OBJECT 參數說明:
| 參數 | 類型 | 默認值 | 說明 |
| delta | Number | 1 | 返回的頁面數,如果 delta 大於現有頁面數,則返回到首頁。 |
示例代碼:
// 注意:調用 navigateTo 跳轉時,調用該方法的頁面會被加入堆棧,而 redirectTo 方法則不會。見下方示例代碼
// 此處是A頁面
wx.navigateTo({
url: 'B?id=1'
})
// 此處是B頁面
wx.navigateTo({
url: 'C?id=1'
})
// 在C頁面內 navigateBack,將返回A頁面
wx.navigateBack({
delta: 2
})
我遇到的,是tabBar的坑
由於直接登錄頁跳主頁(主頁在 app.json的tabBar欄中),
應使用wx.switchTab否則會報錯,不能跳轉
