微信小程序路由跳轉(zhuǎn)兩種方式示例解析
官方文檔
https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html
路由跳轉(zhuǎn)的兩種形式
標簽形式
<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)的某個頁面,他的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)的某個頁面,但是不允許跳轉(zhuǎn)到 //tabbar頁面,他的路由也是可以攜帶參數(shù)的 wx.redirectTo({ url: '/pages/test1/test1?name='+this.data.name1+'&age=17', }) //保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個頁面,但是不能跳轉(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
屬性 | 類型 | 默認值 | 必填 | 說明 |
---|---|---|---|---|
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)用成功、失敗都會執(zhí)行) |
示例代碼
{ "tabBar": { "list": [ { "pagePath": "index", "text": "首頁" }, { "pagePath": "other", "text": "其他" } ] } } wx.switchTab({ url: '/index' })
1.2 wx.reLaunch(Object object)
基礎(chǔ)庫 1.1.0 開始支持,低版本需做兼容處理。
關(guān)閉所有頁面,打開到應(yīng)用內(nèi)的某個頁面
參數(shù)
Object object
屬性 | 類型 | 默認值 | 必填 | 說明 |
---|---|---|---|---|
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)用成功、失敗都會執(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)的某個頁面。但是不允許跳轉(zhuǎn)到 tabbar 頁面。
參數(shù)
Object object
屬性 | 類型 | 默認值 | 必填 | 說明 |
---|---|---|---|---|
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)用成功、失敗都會執(zhí)行) |
示例代碼
wx.redirectTo({ url: 'test?id=1' })
1.4 wx.navigateTo(Object object)
保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個頁面。但是不能跳到 tabbar 頁面。使用wx.navigateBack可以返回到原頁面。小程序中頁面棧最多十層。
參數(shù)
Object object
屬性 | 類型 | 默認值 | 必填 | 說明 |
---|---|---|---|---|
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)用成功、失敗都會執(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)到下一個頁面的時候(這時候會執(zhí)行onHide方法),下一個頁面頭部會有返回按鈕
2.如果不想有返回按鈕,可以用wx.redirectTo進行頁面跳轉(zhuǎn)(這時候關(guān)閉此頁面,會執(zhí)行onUnload生命周期,這樣下一個頁面就不會有返回按鈕了,因為上一個頁面已經(jīng)被關(guān)閉了,沒有頁面可以返回)
1.6 wx.navigateBack(Object object)
關(guān)閉當(dāng)前頁面,返回上一頁面或多級頁面。可通過getCurrentPages()獲取當(dāng)前的頁面棧,決定需要返回幾層。
參數(shù)
Object object
屬性 | 類型 | 默認值 | 必填 | 說明 |
---|---|---|---|---|
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)用成功、失敗都會執(zhí)行) |
示例代碼
// 注意:調(diào)用 navigateTo 跳轉(zhuǎn)時,調(diào)用該方法的頁面會被加入堆棧,而 redirectTo 方法則不會。見下方示例代碼 // 此處是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)兩種方式示例解析的詳細內(nèi)容,更多關(guān)于微信小程序路由跳轉(zhuǎn)方式的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
微信小程序授權(quán)獲取用戶詳細信息openid的實例詳解
這篇文章主要介紹了微信小程序授權(quán)獲取用戶詳細信息openid的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09基于JavaScript實現(xiàn)線性漸變的高斯模糊效果
這篇文章主要為大家詳細介紹了高斯模糊算法以及線性漸變的高斯模糊算法的原理,并通過一個小demo展示了如何實現(xiàn)y方向上線性漸變的高斯模糊效果,需要的可以了解下2024-01-01JavaScript實現(xiàn)橫線提示輸入驗證碼隨輸入驗證碼輸入消失的方法
這篇文章主要介紹了JavaScript實現(xiàn)橫線提示輸入驗證碼隨輸入驗證碼輸入消失的方法,非常實用,在微信開發(fā)中經(jīng)常會用到,需要的朋友可以參考下2016-09-09Chrome插件開發(fā)系列一:彈窗終結(jié)者開發(fā)實戰(zhàn)
從這一節(jié)開始,我們將從零開始打造我們的chrome插件工具庫,第一節(jié)我們將講一下插件開發(fā)的基礎(chǔ)知識并構(gòu)建一個簡單但卻很實用的插件,在構(gòu)建之前,我們先簡單的了解一下插件以及插件開發(fā)的基礎(chǔ)知識2020-10-10inner join 內(nèi)聯(lián)與left join 左聯(lián)的實例代碼
這篇文章主要介紹了inner join 內(nèi)聯(lián)與left join 左聯(lián)的實例代碼,需要的朋友可以參考下2017-09-09