一文讀懂微信小程序頁面導(dǎo)航
一,頁面導(dǎo)航
首先,我們先來了解一下什么叫頁面導(dǎo)航,其實就是通過識別用戶點擊來進行頁面的跳轉(zhuǎn)。
這一點有點類似于vue中的vue-router路由,我們可以通過<router-link>標簽實現(xiàn)單頁面內(nèi)分頁面的渲染,只不過小程序的頁面導(dǎo)航相對來說,比較簡單。
小程序的頁面導(dǎo)航分為兩種,聲明式導(dǎo)航和編程式導(dǎo)航,話不多說,我們現(xiàn)在正式開始。
1.1 聲明式導(dǎo)航
聲明式導(dǎo)航就是利用小程序的<navigator>實現(xiàn)的,其中有url屬性,在效果上就類似瀏覽器的a超鏈接標簽。
1.1.1 導(dǎo)航到tarBar頁面
還記得我們之前學到的tarBar是啥不,底部的導(dǎo)航欄,點擊后可以跳轉(zhuǎn)到相對應(yīng)的頁面,而用<navigator>也可以實現(xiàn)。
我們需要設(shè)置兩個屬性在navigator組件中,url和open-type。
url:設(shè)置需要跳轉(zhuǎn)的頁面所處的位置(頁面地址),并且前面必須由/開頭,比如——url = '/pages/content/conten'
最后一個content不需要加文件后綴。
open-type:設(shè)置navigator的跳轉(zhuǎn)方式,這里選擇值為switchTab,表示跳轉(zhuǎn)的頁面是被配置到tarBar中的。tarBar頁面配置:
在app.json文件中

這樣我們就實現(xiàn)了點擊跳轉(zhuǎn)到tarBar設(shè)置的頁面中啦。
<navigator url="/pages/list/list">點擊跳轉(zhuǎn)</navigator>
你還可以在里面嵌套其他組件,比如嵌套一個button。
1.1.2 導(dǎo)航到非tarBar頁面
非tarBar頁面就是你在page文件夾已經(jīng)定義的頁面,但是沒有在app.json中的tarBar配置。
在實際開發(fā)中,這種場景也是非常多見了,一個比較復(fù)雜的小程序都會有比較多的頁面,而這么多頁面又不會都在tarBar中配置,所有這么頁面的跳轉(zhuǎn)就得靠這個方法來實現(xiàn)啦。
與上文一樣,也是需要url和open-type兩個屬性,url的寫法不變,有變化的是open-type的值需要該為navigate。
<navigator url="/pages/list/list" open-type='navigate'> </navigator>
1.1.3 后退導(dǎo)航
<navigator>還可以實現(xiàn)頁面后退功能。
這時候我們就不用設(shè)置url屬性了,需要更改的是,設(shè)置open-type的值為navigateBack。
我們可以通過設(shè)置delta設(shè)置回退的層級,如果不設(shè)置,那么默認值將會為1。
<navigator open-type="navigateBack" delta='1'></navigator>
1.2 編程式導(dǎo)航
編程式導(dǎo)航是利用微信小程序頂級對象wx下面的幾個方法來實現(xiàn),接下來我們來一一講解。
1.2.1 導(dǎo)航到tarBar頁面
我們將使用wx下的switchTab(obj)方法,其中obj為對象。
對象中有四個屬性,url、success、fail、complete。
其中`
url是需要跳轉(zhuǎn)的頁面地址success是接口調(diào)用成功執(zhí)行的回調(diào)函數(shù)fail是接口調(diào)用失敗執(zhí)行的回調(diào)函數(shù)complete是完成調(diào)用執(zhí)行的回調(diào)函數(shù),無論成功與否,都會執(zhí)行。
wx.swithTab({
url : '/pages/list/list',
...
)}
1.2.2 導(dǎo)航到非tarBar頁面
實現(xiàn)該功能我們需要調(diào)用wx下的navigateTo(obj)方法。
對象中的參數(shù)類型與1.2.1一致。
wx.navigateTo({
url : '/page/list/list',
success : function(){console.log('success');}
})
1.2.3 后退導(dǎo)航
這里的后退導(dǎo)航功能,同樣的我們需要用到wx頂級對象下的navigateBack(obj)方法。
不過不同的是,obj對象中的參數(shù),url改為delta,表示會退的 層級,默認值為1,也就是后退一頁。
1.3 導(dǎo)航傳參
如果我們實現(xiàn)頁面跳轉(zhuǎn)之后,下一個頁面想要調(diào)用前一個頁面的參數(shù)時,我們該怎么辦?
這時候就可以用到導(dǎo)航傳參了,導(dǎo)航傳參其實和在瀏覽器中使用GET請求很像,可以把參數(shù)設(shè)置在url中,傳遞到下一個頁面。
在格式上也是通過鍵值對的方法,路徑跟參數(shù)之間用?隔開,鍵與值之間用=隔開,每個參數(shù)之間著用&隔開。
如下所示:
url= "/pages/list/list?name=myname&pass=yes"
今天的小程序文章到這里就結(jié)束啦,如果覺得對您有幫助的話,可以關(guān)注牛牛接下來的文章,感謝您對支持,您的支持是我創(chuàng)作的最大動力?。?!
總結(jié)
到此這篇關(guān)于微信小程序頁面導(dǎo)航的文章就介紹到這了,更多相關(guān)微信小程序頁面導(dǎo)航內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript實現(xiàn)動態(tài)顯示顏色塊的報表效果
本文主要介紹了javascript實現(xiàn)動態(tài)顯示顏色塊的報表效果的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧2017-04-04
JavaScript 組件之旅(三):用 Ant 構(gòu)建組件
我們走到哪兒了?前兩期思考了太多東西,你是否已有倦意?別擔心,本期的話題很輕松,你只需要簡單了解一些語法,寫幾行配置,就能驅(qū)使系統(tǒng)按你預(yù)設(shè)的方式自動完成一些工作。2009-10-10
微信小程序?qū)崿F(xiàn)視頻播放器發(fā)送彈幕
這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)視頻播放器發(fā)送彈幕,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-04-04
uni-app操作數(shù)據(jù)庫的三種方法總結(jié)
數(shù)據(jù)庫操作的,可以采用多方案,下面這篇文章主要給大家介紹了關(guān)于uni-app操作數(shù)據(jù)庫的三種方法,文中通過實例代碼和圖文介紹的非常詳細,需要的朋友可以參考下2023-05-05
JavaScript 異步方法隊列鏈實現(xiàn)代碼分析
在javascript中,方法的鏈式調(diào)用很流行,使用jQuery的朋友對此一定深有體會。2010-06-06
JavaScript實現(xiàn)下載base64數(shù)據(jù)并兼容低版本
這篇文章主要為大家詳細介紹了如何使用JavaScript實現(xiàn)下載base64數(shù)據(jù)并兼容低版本,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-12-12
JavaScript 匿名函數(shù)(anonymous function)與閉包(closure)
JavaScript 匿名函數(shù)(anonymous function)與閉包(closure) ,學習js的朋友可以參考下。2011-10-10

