小程序頁面路由

2022-07-10    分類: 網(wǎng)站建設(shè)

頁面路由

小程序中所有頁面的路由全部由框架進(jìn)行管理。

頁面棧

框架以棧的形式維護(hù)了當(dāng)前的所有頁面。 當(dāng)發(fā)生路由切換的時(shí)候,頁面棧的表現(xiàn)如下:

路由方式頁面棧表現(xiàn)初始化新頁面入棧打開新頁面新頁面入棧頁面重定向當(dāng)前頁面出棧,新頁面入棧頁面返回頁面不斷出棧,直到目標(biāo)返回頁,新頁面入棧Tab 切換頁面全部出棧,只留下新的 Tab 頁面重加載頁面全部出棧,只留下新的頁面getCurrentPages()

getCurrentPages() 函數(shù)用于獲取當(dāng)前頁面棧的實(shí)例,以數(shù)組形式按棧的順序給出,第一個(gè)元素為首頁,最后一個(gè)元素為當(dāng)前頁面。

Tip:不要嘗試修改頁面棧,會(huì)導(dǎo)致路由以及頁面狀態(tài)錯(cuò)誤。

路由方式

對(duì)于路由的觸發(fā)方式以及頁面生命周期函數(shù)如下:
路由方式觸發(fā)時(shí)機(jī)路由前頁面路由后頁面初始化小程序打開的第一個(gè)頁面
onLoad, onShow打開新頁面調(diào)用 API wx.navigateTo 或使用組件 onHideonLoad, onShow頁面重定向調(diào)用 API wx.redirectTo 或使用組件 onUnloadonLoad, onShow頁面返回調(diào)用 API wx.navigateBack 或使用組件或用戶按左上角返回按鈕onUnloadonShowTab 切換調(diào)用 API wx.switchTab 或使用組件  或用戶切換 Tab

各種情況請(qǐng)參考下表重啟動(dòng)調(diào)用 API wx.reLaunch 或使用組件 onUnloadonLoad, onShow

Tab 切換對(duì)應(yīng)的生命周期(以 A、B 頁面為 Tabbar 頁面,C 是從 A 頁面打開的頁面,D 頁面是從 C 頁面打開的頁面為例):

當(dāng)前頁面路由后頁面觸發(fā)的生命周期(按順序)AANothing happendABA.onHide(), B.onLoad(), B.onShow()AB(再次打開)A.onHide(), B.onShow()CAC.onUnload(), A.onShow()CBC.onUnload(), B.onLoad(), B.onShow()DBD.onUnload(), C.onUnload(), B.onLoad(), B.onShow()D(從轉(zhuǎn)發(fā)進(jìn)入)AD.onUnload(), A.onLoad(), A.onShow()D(從轉(zhuǎn)發(fā)進(jìn)入)BD.onUnload(), B.onLoad(), B.onShow()Tips

:

navigateTo, redirectTo 只能打開非 tabBar 頁面。

switchTab 只能打開 tabBar 頁面。

reLaunch 可以打開任意頁面。

頁面底部的 tabBar 由頁面決定,即只要是定義為 tabBar 的頁面,底部都有 tabBar。

本文名稱:小程序頁面路由
網(wǎng)站鏈接:http://bm7419.com/news/176182.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、全網(wǎng)營銷推廣、動(dòng)態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站定制網(wǎng)站、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司