微信小程序API導(dǎo)航,wx.navigateTo返回到原頁(yè)面
wx.navigateTo(OBJECT)
保留當(dāng)前頁(yè)面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面,使用wx.navigateBack
可以返回到原頁(yè)面。
OBJECT 參數(shù)說(shuō)明:
參數(shù) | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
url | String | 是 |
需要跳轉(zhuǎn)的應(yīng)用內(nèi)非 tabBar 的頁(yè)面的路徑 , 路徑后可以帶參數(shù)。參數(shù)與路徑之間使用? 分隔,參數(shù)鍵與參數(shù)值用= 相連,不同參數(shù)用& 分隔;如 'path?key=value&key2=value2' |
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
示例代碼:
wx.navigateTo({
url: 'test?id=1'
})
//test.js
Page({
onLoad: function(option){
console.log(option.query)
}
})
注意:為了不讓用戶在使用小程序時(shí)造成困擾,我們規(guī)定頁(yè)面路徑只能是五層,請(qǐng)盡量避免多層級(jí)的交互方式。
wx.redirectTo(OBJECT)
關(guān)閉當(dāng)前頁(yè)面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面。
OBJECT 參數(shù)說(shuō)明:
參數(shù) | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
url | String | 是 |
需要跳轉(zhuǎn)的應(yīng)用內(nèi)非 tabBar 的頁(yè)面的路徑,路徑后可以帶參數(shù)。參數(shù)與路徑之間使用? 分隔,參數(shù)鍵與參數(shù)值用= 相連,不同參數(shù)用& 分隔;如 'path?key=value&key2=value2' |
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
示例代碼:
wx.redirectTo({
url: 'test?id=1'
})
wx.reLaunch(OBJECT)
基礎(chǔ)庫(kù)版本 1.1.0 開始支持,低版本需做兼容處理
關(guān)閉所有頁(yè)面,打開到應(yīng)用內(nèi)的某個(gè)頁(yè)面。
OBJECT 參數(shù)說(shuō)明:
參數(shù) | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
url | String | 是 |
需要跳轉(zhuǎn)的應(yīng)用內(nèi)非 tabBar 的頁(yè)面的路徑 , 路徑后可以帶參數(shù)。參數(shù)與路徑之間使用? 分隔,參數(shù)鍵與參數(shù)值用= 相連,不同參數(shù)用& 分隔;如 'path?key=value&key2=value2',如果跳轉(zhuǎn)的頁(yè)面路徑是 tabBar 頁(yè)面則不能帶參數(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)用成功、失敗都會(huì)執(zhí)行) |
示例代碼:
wx.reLaunch({
url: 'test?id=1'
})
//test.js
Page({
onLoad: function(option){
console.log(option.query)
}
})
wx.switchTab(OBJECT)
跳轉(zhuǎn)到 tabBar 頁(yè)面,并關(guān)閉其他所有非 tabBar 頁(yè)面
OBJECT 參數(shù)說(shuō)明:
參數(shù) | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
url | String | 是 | 需要跳轉(zhuǎn)的 tabBar 頁(yè)面的路徑(需在 app.json 的 tabBar 字段定義的頁(yè)面),路徑后不能帶參數(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)用成功、失敗都會(huì)執(zhí)行) |
示例代碼:
{
"tabBar": {
"list": [{
"pagePath": "index",
"text": "首頁(yè)"
},{
"pagePath": "other",
"text": "其他"
}]
}
}
wx.switchTab({
url: '/index'
})
wx.navigateBack(OBJECT)
關(guān)閉當(dāng)前頁(yè)面,返回上一頁(yè)面或多級(jí)頁(yè)面??赏ㄟ^(guò) getCurrentPages()
獲取當(dāng)前的頁(yè)面棧,決定需要返回幾層。
OBJECT 參數(shù)說(shuō)明:
參數(shù) | 類型 | 默認(rèn)值 | 說(shuō)明 |
---|---|---|---|
delta | Number | 1 | 返回的頁(yè)面數(shù),如果 delta 大于現(xiàn)有頁(yè)面數(shù),則返回到首頁(yè)。 |
示例代碼:
// 注意:調(diào)用 navigateTo 跳轉(zhuǎn)時(shí),調(diào)用該方法的頁(yè)面會(huì)被加入堆棧,而 redirectTo 方法則不會(huì)。見下方示例代碼
// 此處是A頁(yè)面
wx.navigateTo({
url: 'B?id=1'
})
// 此處是B頁(yè)面
wx.navigateTo({
url: 'C?id=1'
})
// 在C頁(yè)面內(nèi) navigateBack,將返回A頁(yè)面
wx.navigateBack({
delta: 2
})
Tip
-
tip
: wx.navigateTo 和 wx.redirectTo 不允許跳轉(zhuǎn)到 tabbar 頁(yè)面,只能用 wx.switchTab 跳轉(zhuǎn)到 tabbar 頁(yè)面
第二部分:如何開通一個(gè)小商店