微信小程序路由跳轉(zhuǎn)兩種方式示例解析
官方文檔
https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html
路由跳轉(zhuǎn)的兩種形式
標(biāo)簽形式
<navigator url="/pages/test/test" open-type="switchTab" >跳轉(zhuǎn)到新頁面</navigator>
通過open-type來選擇和上面一樣的跳轉(zhuǎn)方式
js形式
# wxml文件 <button bind:tap="tiao">跳轉(zhuǎn)</button> # js文件 tiao1:function(){ wx.reLaunch({ url: '/pages/test/test', }) },
快速總結(jié)
# wxml文件 <button bind:tap="tiao">跳轉(zhuǎn)</button> # js文件 tiao1:function(){ wx.reLaunch({ url: '/pages/test/test', }) }, // 只能跳轉(zhuǎn)到tabBar頁面,不能跳轉(zhuǎn)到非tabBar頁面,并且關(guān)閉 //所有非tabBar頁面,url不能攜帶參數(shù) wx.switchTab({ url: '/pages/test/test', }) //關(guān)閉所有的頁面,打開應(yīng)用內(nèi)的某個(gè)頁面,他的url可以攜帶參數(shù) //在跳轉(zhuǎn)頁面的onload生命周期函數(shù)中去接收 wx.reLaunch({ url: '/pages/test1/test1?name=123&age=18', }) //關(guān)閉當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面,但是不允許跳轉(zhuǎn)到 //tabbar頁面,他的路由也是可以攜帶參數(shù)的 wx.redirectTo({ url: '/pages/test1/test1?name='+this.data.name1+'&age=17', }) //保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面,但是不能跳轉(zhuǎn)到 //tabbar,可以使用wx.navigateBack返回到原來的頁面, //他的url也可以帶參數(shù),小程序中頁面最多棧10層 wx.navigateTo({ url: '/pages/test1/test1?name=333', }) //delat表示回退多少層 wx.navigateBack({ delta:1 })
小程序路由跳轉(zhuǎn)
1.1 wx.switchTab(Object object)
這里的tabBar是底下的導(dǎo)航欄指定的頁面,
跳轉(zhuǎn)到 tabBar 頁面,并關(guān)閉其他所有非 tabBar 頁面
參數(shù)
Object object
屬性 | 類型 | 默認(rèn)值 | 必填 | 說明 |
---|---|---|---|---|
url | string | 是 | 需要跳轉(zhuǎn)的 tabBar 頁面的路徑(需在 app.json 的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)用成功、失敗都會(huì)執(zhí)行) |
示例代碼
{ "tabBar": { "list": [ { "pagePath": "index", "text": "首頁" }, { "pagePath": "other", "text": "其他" } ] } } wx.switchTab({ url: '/index' })
1.2 wx.reLaunch(Object object)
基礎(chǔ)庫(kù) 1.1.0 開始支持,低版本需做兼容處理。
關(guān)閉所有頁面,打開到應(yīng)用內(nèi)的某個(gè)頁面
參數(shù)
Object object
屬性 | 類型 | 默認(rèn)值 | 必填 | 說明 |
---|---|---|---|---|
url | string | 是 | 需要跳轉(zhuǎn)的應(yīng)用內(nèi)頁面路徑,路徑后可以帶參數(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.reLaunch({ url: 'test?id=1' }) // test Page({ onLoad (option) { console.log(option.query) } })
1.3 wx.redirectTo(Object object)
關(guān)閉當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面。但是不允許跳轉(zhuǎn)到 tabbar 頁面。
參數(shù)
Object object
屬性 | 類型 | 默認(rèn)值 | 必填 | 說明 |
---|---|---|---|---|
url | string | 是 | 需要跳轉(zhuǎn)的應(yīng)用內(nèi)非 tabBar 的頁面的路徑, 路徑后可以帶參數(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' })
1.4 wx.navigateTo(Object object)
保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面。但是不能跳到 tabbar 頁面。使用wx.navigateBack可以返回到原頁面。小程序中頁面棧最多十層。
參數(shù)
Object object
屬性 | 類型 | 默認(rèn)值 | 必填 | 說明 |
---|---|---|---|---|
url | string | 是 | 需要跳轉(zhuǎn)的應(yīng)用內(nèi)非 tabBar 的頁面的路徑, 路徑后可以帶參數(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(option) { console.log(option.query) } })
1.5 wx.redirectTo與wx.navigateTo的區(qū)別
1.利用wx.navigateTo跳轉(zhuǎn)到下一個(gè)頁面的時(shí)候(這時(shí)候會(huì)執(zhí)行onHide方法),下一個(gè)頁面頭部會(huì)有返回按鈕
2.如果不想有返回按鈕,可以用wx.redirectTo進(jìn)行頁面跳轉(zhuǎn)(這時(shí)候關(guān)閉此頁面,會(huì)執(zhí)行onUnload生命周期,這樣下一個(gè)頁面就不會(huì)有返回按鈕了,因?yàn)樯弦粋€(gè)頁面已經(jīng)被關(guān)閉了,沒有頁面可以返回)
1.6 wx.navigateBack(Object object)
關(guān)閉當(dāng)前頁面,返回上一頁面或多級(jí)頁面。可通過getCurrentPages()獲取當(dāng)前的頁面棧,決定需要返回幾層。
參數(shù)
Object object
屬性 | 類型 | 默認(rèn)值 | 必填 | 說明 |
---|---|---|---|---|
delta | number | 是 | 返回的頁面數(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)用成功、失敗都會(huì)執(zhí)行) |
示例代碼
// 注意:調(diào)用 navigateTo 跳轉(zhuǎn)時(shí),調(diào)用該方法的頁面會(huì)被加入堆棧,而 redirectTo 方法則不會(huì)。見下方示例代碼 // 此處是A頁面 wx.navigateTo({ url: 'B?id=1' }) // 此處是B頁面 wx.navigateTo({ url: 'C?id=1' }) // 在C頁面內(nèi) navigateBack,將返回A頁面 wx.navigateBack({ delta: 2 })
以上就是微信小程序路由跳轉(zhuǎn)兩種方式示例解析的詳細(xì)內(nèi)容,更多關(guān)于微信小程序路由跳轉(zhuǎn)方式的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
微信小程序授權(quán)獲取用戶詳細(xì)信息openid的實(shí)例詳解
這篇文章主要介紹了微信小程序授權(quán)獲取用戶詳細(xì)信息openid的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09基于JavaScript實(shí)現(xiàn)線性漸變的高斯模糊效果
這篇文章主要為大家詳細(xì)介紹了高斯模糊算法以及線性漸變的高斯模糊算法的原理,并通過一個(gè)小demo展示了如何實(shí)現(xiàn)y方向上線性漸變的高斯模糊效果,需要的可以了解下2024-01-01基于JS制作一個(gè)網(wǎng)頁版的猜數(shù)字小游戲
這篇文章主要為大家詳細(xì)介紹了如何利用HTML+CSS+JavaScript實(shí)現(xiàn)一個(gè)簡(jiǎn)單的網(wǎng)頁版的猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07使用微信小程序顯示用戶當(dāng)前地理位置的詳細(xì)代碼
這篇文章主要介紹了使用微信小程序顯示用戶當(dāng)前地理位置的詳細(xì)代碼,在微信小程序的開發(fā)中不可避免的會(huì)遇到需要顯示用戶地理位置的操作,本文將簡(jiǎn)單介紹如何在微信小程序中顯示用戶當(dāng)前的地理位置,需要的朋友可以參考下2022-06-06JavaScript實(shí)現(xiàn)橫線提示輸入驗(yàn)證碼隨輸入驗(yàn)證碼輸入消失的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)橫線提示輸入驗(yàn)證碼隨輸入驗(yàn)證碼輸入消失的方法,非常實(shí)用,在微信開發(fā)中經(jīng)常會(huì)用到,需要的朋友可以參考下2016-09-09Chrome插件開發(fā)系列一:彈窗終結(jié)者開發(fā)實(shí)戰(zhàn)
從這一節(jié)開始,我們將從零開始打造我們的chrome插件工具庫(kù),第一節(jié)我們將講一下插件開發(fā)的基礎(chǔ)知識(shí)并構(gòu)建一個(gè)簡(jiǎn)單但卻很實(shí)用的插件,在構(gòu)建之前,我們先簡(jiǎn)單的了解一下插件以及插件開發(fā)的基礎(chǔ)知識(shí)2020-10-10inner join 內(nèi)聯(lián)與left join 左聯(lián)的實(shí)例代碼
這篇文章主要介紹了inner join 內(nèi)聯(lián)與left join 左聯(lián)的實(shí)例代碼,需要的朋友可以參考下2017-09-09