国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

小程序框架頁面棧設(shè)計(jì)案例解析

電子工程師 ? 來源:博客園 ? 作者: 姜友瑤 ? 2020-11-04 13:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

剛開始用小程序的時候沒怎么在意頁面的跳轉(zhuǎn),也沒仔細(xì)看文檔中說的頁面棧的內(nèi)容。只要能跳轉(zhuǎn)就行,wx.navigateTo,wx.redirectTo 這些方法一頓亂用。最后在做一個5層頁面的時候跳懵了。各種重復(fù)跳頁,怎么改都不好使,于是安心下來仔細(xì)看看API,發(fā)現(xiàn)這個路由還是有學(xué)問的。因此分享一下,希望對做小程序的網(wǎng)友也有一定的幫助。

頁面棧

首先我們要理解在小程序中頁面的路由是小程序框架本身控制的我們不要去手動管理, 小程序框架通過一個頁面棧的設(shè)計(jì)來管理所有的界面,為了便于理解你可以看一下示意圖。

?

如圖所示小程序的頁面棧最大能存放5個頁面,當(dāng)頁面棧中的頁面等于5時,在使用navigateTo這種方式是不能再跳頁的。

下面我們分析一下頁面棧的變化過程,從分析中,我們需要明白的一個重要問題就是,當(dāng)客戶按返回按鈕的時候究竟會跳轉(zhuǎn)到那個界面,這是我們分析頁面棧變化的的意義。

首先我們在頁面中調(diào)用兩次navigateTO,頁面棧情況如下

?

這時顯示的界面是pageC ,如果客戶在此時返回則會一切正常,回退的第一個界面是pageB,然后是pageA。但是如果在pageC 界面調(diào)用 wx.redirectTo({url:'pageD'}) 則情況就會不一樣看,我們先看一下跳轉(zhuǎn)到pageD后頁面棧的情況如何。

?

根據(jù)棧的情況,我們可以分析出。如果使用 wx.redirectTo跳轉(zhuǎn)到pageD頁面,然后在回退的時候是不能再次回退到pageC的,而會直接回退到pageB。

通過上面對頁面棧的分析,我們可以看到棧的變化是會影響客戶回退頁面的順序的,所以根據(jù)自己的需要合理的使用不同的跳轉(zhuǎn)方法是非常重要的。如果使用不當(dāng)就會導(dǎo)致跳轉(zhuǎn)混亂讓人摸不清頭腦

下面分析一種調(diào)轉(zhuǎn)重復(fù)頁面的情況

如果我們的pageB頁面是一個數(shù)據(jù)列表頁面,比如商品列表,pageC是一個商品的編輯界面,一般我們會通過pageB然后進(jìn)如pageC對商品進(jìn)行修改,修改后返回pageB。這是很常見的一個場景,但是如果使用不當(dāng)機(jī)會出現(xiàn)如下情況

?

如圖所示棧中出現(xiàn)了兩個相同的pageB界面,這個時候如果用戶按退出鍵就會出現(xiàn)一個頁面出現(xiàn)2次的情況,而且有一個界面的數(shù)據(jù)也是舊的數(shù)據(jù)。因此為了避免這個問題,我們應(yīng)該在 PageC 頁面避免將 PageB重復(fù)壓入棧中,所以在pageC頁面 使用wx.navigateBack({delta:1}); 進(jìn)行頁面回退。而數(shù)據(jù)刷新的問題則在頁面的onShow函數(shù)中進(jìn)行即可。

路由方法與頁面棧變化對應(yīng)關(guān)系


特別注意:

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

switchTab只能打開 tabBar 頁面。

reLaunch可以打開任意頁面。

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

調(diào)用頁面路由帶的參數(shù)可以在目標(biāo)頁面的onLoad中獲取。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    2368

    瀏覽量

    66752
  • 路由
    +關(guān)注

    關(guān)注

    0

    文章

    284

    瀏覽量

    43689
  • 小程序
    +關(guān)注

    關(guān)注

    1

    文章

    243

    瀏覽量

    13411
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    LuatOS框架的使用(上)

    環(huán)境搭建、模塊調(diào)用到任務(wù)調(diào)度,全面解析其開發(fā)流程與最佳實(shí)踐。 本篇文章主要講LuatOS 框架;LuatOS 框架是整個 LuatOS 開發(fā)中最基礎(chǔ)也是最核心的內(nèi)容,無論使用 LuatOS 開發(fā)什么功能,都會用到它; LuatO
    的頭像 發(fā)表于 01-27 19:38 ?153次閱讀
    LuatOS<b class='flag-5'>框架</b>的使用(上)

    沐曦股份MXMACA軟件3.3.0.X版本技術(shù)解析

    ,作為沐曦“自主GPGPU硬件+全軟件體系”的關(guān)鍵協(xié)同載體,如圖1所示,MACA承擔(dān)著連接硬件算力單元與上層應(yīng)用生態(tài)的核心紐帶作用,覆蓋底層驅(qū)動、用戶態(tài)接口、編譯器、算子適配、訓(xùn)練框架、推理框架、行業(yè)場景優(yōu)化等全鏈路能力,是支
    的頭像 發(fā)表于 12-24 09:08 ?916次閱讀
    沐曦股份MXMACA軟件<b class='flag-5'>棧</b>3.3.0.X版本技術(shù)<b class='flag-5'>解析</b>

    Stack到底用來干嘛的呢?

    我們在函數(shù)的局部變量、數(shù)組這些不能超過1K(含嵌套的函數(shù)),否則程序就會崩潰進(jìn)入hardfaul。 除了這些局部變量以外,還有一些實(shí)時操作系統(tǒng)的現(xiàn)場保護(hù)、返回地址都是存儲在里面。 還有一點(diǎn)題外話,就是的增長方向是從高地址到低
    發(fā)表于 12-01 08:04

    堆和的區(qū)別

    一個由C/C 編譯的程序占用的內(nèi)存分為以下幾個部分: 區(qū)(stack):由編譯器自動分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值等。其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的。 堆區(qū)(heap):一般由
    的頭像 發(fā)表于 11-27 18:13 ?1078次閱讀

    PYQT 應(yīng)用程序框架及開發(fā)工具

    大家好,本團(tuán)隊(duì)此次分享的內(nèi)容為開發(fā)過程中使用到的PYQT 應(yīng)用程序框架及開發(fā)工具。 pYqt 是一個多平臺的 python 圖形用戶界面應(yīng)用程序框架,由于其面向?qū)ο蟆? 易擴(kuò)展(可
    發(fā)表于 10-29 07:15

    如何在應(yīng)用程序調(diào)試期間分析和堆使用情況

    隨著 AMD Vitis 統(tǒng)一軟件平臺 2021.2 的發(fā)布,Vitis 引入了一個 Tcl 腳本,用于在應(yīng)用程序運(yùn)行的特定時間點(diǎn)協(xié)助查找和堆的內(nèi)存使用情況。該腳本已延續(xù)到后續(xù)的 Vitis 版本
    的頭像 發(fā)表于 10-24 16:54 ?888次閱讀
    如何在應(yīng)用<b class='flag-5'>程序</b>調(diào)試期間分析<b class='flag-5'>棧</b>和堆使用情況

    使用RT-Thread Studio在程序進(jìn)Hardfault時怎么方便的查看調(diào)用

    求助各位大神 使用RT-Thread Studio在程序進(jìn)Hardfault時怎么方便的查看調(diào)用 使用MDK的時候可以方便的看調(diào)用堆棧,從而很快速的找到問題,使用RT-Thread Studio該如何快速找到問題呢
    發(fā)表于 10-10 06:54

    知乎開源“智能預(yù)渲染框架” 幾行代碼實(shí)現(xiàn)鴻蒙應(yīng)用頁面“秒開”

    近日,知乎在Gitee平臺開源了其自研的鴻蒙“智能預(yù)渲染框架”,并將該框架的Har包上架到OpenHarmony三方庫中心倉。該框架在鴻蒙平臺首創(chuàng)“智能預(yù)渲染”技術(shù),旨在破解應(yīng)用復(fù)雜頁面
    的頭像 發(fā)表于 08-29 14:32 ?627次閱讀
    知乎開源“智能預(yù)渲染<b class='flag-5'>框架</b>” 幾行代碼實(shí)現(xiàn)鴻蒙應(yīng)用<b class='flag-5'>頁面</b>“秒開”

    RDMA over RoCE V2設(shè)計(jì)2:ip 整體框架設(shè)計(jì)考慮

    解析、不變循環(huán)冗余校驗(yàn)(ICRC)生成等功能。 以太網(wǎng)協(xié)議模塊負(fù)責(zé)解析及組裝網(wǎng)絡(luò)包,完成網(wǎng)絡(luò)層級中傳輸層、網(wǎng)絡(luò)層及網(wǎng)絡(luò)接口層功能。首先,該模塊接收來自融合以太網(wǎng)協(xié)議的網(wǎng)絡(luò)包,并為
    發(fā)表于 07-16 08:51

    【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù)

    【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù) ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、生命周期階段: 創(chuàng)建階段 build: 構(gòu)建組件
    的頭像 發(fā)表于 07-11 18:24 ?1085次閱讀

    開發(fā)進(jìn)階指南:LuatOS-log庫從入門到實(shí)戰(zhàn)!

    本文將帶你深入探索LuatOS系統(tǒng)中l(wèi)og庫的核心原理與實(shí)戰(zhàn)技巧,通過代碼示例解析日志管理、錯誤追蹤及性能優(yōu)化的最佳實(shí)踐,助力全工程師構(gòu)建更穩(wěn)健的物聯(lián)網(wǎng)應(yīng)用。 今天,我們一起來認(rèn)識LuatOS
    的頭像 發(fā)表于 05-15 16:12 ?2857次閱讀
    全<b class='flag-5'>棧</b>開發(fā)進(jìn)階指南:LuatOS-log庫從入門到實(shí)戰(zhàn)!

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-Regmap子系統(tǒng)之Regmap框架結(jié)構(gòu)

    供了一些工具函數(shù),用于解析和處理寄存器值,如位字段操作等。Regmap API:Regmap框架提供了一組API函數(shù),用于在驅(qū)動程序中使用Regmap進(jìn)行寄存器訪問。這些API函數(shù)包括
    發(fā)表于 04-17 13:59

    4G控制器輕松定制恒壓供水運(yùn)行頁面

    恒壓供水定制頁面效果各位恒壓供水設(shè)備廠家們在使用博控云小程序的過程中,會不會有以下問題:能定制專屬的恒壓供水運(yùn)行頁面嗎?界面同質(zhì)化嚴(yán)重?zé)o法體現(xiàn)品牌差異化?無法投入過多時間精力用于設(shè)計(jì)搭建?能我提供
    的頭像 發(fā)表于 04-14 17:32 ?566次閱讀
    4G控制器輕松定制恒壓供水運(yùn)行<b class='flag-5'>頁面</b>!

    深入淺出解析低功耗藍(lán)牙協(xié)議

    Bluetooth LE協(xié)議為什么要分層?怎么理解Bluetooth LE“連接”?如果Bluetooth LE協(xié)議只有ATT層沒有GATT層會發(fā)生什么? 一、協(xié)議框架 一般而言,我們把某個
    的頭像 發(fā)表于 04-09 14:49 ?1290次閱讀
    深入淺出<b class='flag-5'>解析</b>低功耗藍(lán)牙協(xié)議<b class='flag-5'>棧</b>

    使用RT-Thread Studio在程序進(jìn)Hardfault時怎么方便的查看調(diào)用

    使用RT-Thread Studio在程序進(jìn)Hardfault時怎么方便的查看調(diào)用 使用MDK的時候可以方便的看調(diào)用堆棧,從而很快速的找到問題,使用RT-Thread Studio該如何快速找到問題呢
    發(fā)表于 04-01 07:32