入門版 鴻蒙 組件導航 (Navigation)

入門版 鴻蒙 組件導航 (Navigation)

注意:使用 DevEco Studio 運行本案例,要使用模擬器,千萬不要用預覽器,預覽器看看 Navigation 布局還是可以的

  1. 效果:點擊首頁(Index)跳轉到頁面(MainPage)
  2. 先寫 Index 和 MainPage 這兩個頁面
  3. 路由相關配置

Index 和 MainPage 兩個頁面,點擊這個兩個頁面可以互相跳轉

// src/main/ets/pages/Index.ets
@Entry
@Component
struct Index {// 創建導航路徑棧實例,用于管理頁面跳轉歷史pageStack: NavPathStack = new NavPathStack()build() {// 使用Navigation組件作為導航容器,傳入pageStack管理路由Navigation(this.pageStack) {Column() {}.width('100%').height('100%').backgroundColor(Color.Blue).onClick(() => {// 擊時壓入名為"MainPage"的新頁面到路徑棧this.pageStack.pushPathByName("MainPage", null);})}}
}
// src/main/ets/pages/MainPage.ets
// 跳轉頁面入口函數
@Builder
export function MainPageBuilder() {MainPage()
}@Component
struct MainPage {pageStack: NavPathStack = new NavPathStack()build() {// 定義導航目標頁面的容器NavDestination() {}.width('100%').height('100%').backgroundColor(Color.Brown).title('MainPage').onClick(() => {// 清空導航路徑棧(用于返回首頁)this.pageStack.clear()})// 頁面就緒回調onReady.onReady((context: NavDestinationContext) => {// 從上下文中獲取路徑棧實例(需確保與父組件共享同一個實例)this.pageStack = context.pathStack})}
}

路由相關的配置

在跳轉目標模塊的配置文件 module.json5 添加路由表配置

// src/main/module.json5{"module" : {"routerMap": "$profile:route_map"}}

添加完路由配置文件地址后,需要在工程 resources/base/profile 中創建 route_map.json 文件

// src/main/resources/base/profile/router_map.json
{"routerMap": [{"name": "MainPage","pageSourceFile": "src/main/ets/pages/MainPage.ets","buildFunction": "MainPageBuilder","data": {"description": "this is MainPage"}}]
}
// src/main/resources/base/profile/main_pages.json
{"src": ["pages/Index"]
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903289.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903289.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903289.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VUE3:封裝一個評論回復組件

之前用React封裝的評論回復組件,里面有三個主要部分:CommentComponent作為主組件,CommentItem處理單個評論項,CommentInput負責輸入框。現在需要將這些轉換為Vue3的組件。 Vue3和React在狀態管理上有所不同,Vue3使用r…

制作一款打飛機游戲27:精靈編輯器UI

繼續開發我們的編輯器——Sprit Edit。我們已經創建了這個小編輯器,它可以顯示很多精靈(sprites),并且我們可以遍歷所有精靈。這真的很棒,我們可以創建新的精靈,這也不錯。但是,唉,我…

k8s(9) — zookeeper集群部署(親和性、污點與容忍測試)

一、部署思路 1、前期設想 zookeeper集群至少需要運行3個pod集群才能夠正常運行,考慮到節點會有故障的風險這個3個pod最好分別運行在3個不同的節點上(為了實現這一需要用到親和性和反親和性概念),在部署的時候對zookeeper運行的pod打標簽加…

WXT+Vue3+sass+antd+vite搭建項目開發chrome插件

WXTVue3sassantdvite搭建項目開發chrome插件 前言一、初始化項目二、項目配置調整三、options頁面配置四、集成antd五、集成sass六、環境配置七、代碼注入 vue3:https://cn.vuejs.org/ axios:https://www.axios-http.cn/docs/api_intro antd:…

JSAPI2.4——正則表達式

一、語法 const str 一二三四五六七八九十 //判斷內容 const reg /二/ //判斷條件 console.log(reg.test(str)); //檢查 二、test與exec方法的區別 test方法:用于判斷是否符合規則的字符串,返回值是布爾值 exec方法&…

燃氣用戶檢修工考試精選題

燃氣用戶檢修工考試精選題: 我國國家標準規定民用天然氣中硫化氫含量最高允許濃度是( )。 A. 20mg/m B. 15mg/m C. 5mg/m D. 50mg/m 答案:A 城市燃氣應具有可以察覺的臭味,當無毒燃氣泄漏到空氣中,達到爆炸…

【前端】1h 搞定 TypeScript 教程_只說重點

不定期更新,建議關注收藏點贊。 目錄 簡介使用基本類型、類型推斷和類型注解接口、類型別名、聯合類型類與繼承泛型GenericsReact 與 TS 進階高級類型裝飾器Decorators模塊系統TypeScript 編譯選項 簡介 TypeScript(簡稱 TS)是一種由微軟開發…

MyBatis 參數綁定

一、MyBatis 參數綁定機制 1.1 核心概念 當 Mapper 接口方法接收多個參數時,MyBatis 提供三種參數綁定方式: 默認參數名:arg0、arg1(Java 8)或 param1、param2Param 注解:顯式指定參數名稱POJO/DTO 對象…

【解決方案】Linux解決CUDA安裝過程中GCC版本不兼容

Linux解決CUDA安裝過程中GCC版本不兼容 目錄 問題描述 解決方法 安裝后配置 問題描述 Linux環境下安裝 CUDA 時,運行sudo sh cuda_10.2.89_440.33.01_linux.run命令出現 “Failed to verify gcc version.” 的報錯,提示 GCC 版本不兼容,查…

人工智能數學基礎(一):人工智能與數學

在人工智能領域,數學是不可或缺的基石。無論是算法的設計、模型的訓練還是結果的評估,都離不開數學的支持。接下來,我將帶大家深入了解人工智能數學基礎,包括微積分、線性代數、概率論、數理統計和最優化理論,并通過 P…

Shell腳本-嵌套循環應用案例

在Shell腳本編程中,嵌套循環是一種強大的工具,可以用于處理復雜的任務和數據結構。通過在一個循環內部再嵌套另一個循環,我們可以實現對多維數組、矩陣操作、文件處理等多種高級功能。本文將通過幾個實際的應用案例來展示如何使用嵌套循環解決…

勘破養生偽常識,開啟科學養生新篇

?在養生潮流風起云涌的當下,各種養生觀點和方法層出不窮。但其中有不少是缺乏科學依據的偽常識,若不加分辨地盲目跟從,不僅難以實現養生目的,還可能損害健康。因此,勘破這些養生偽常識,是邁向科學養生的關…

Nacos-3.0.0適配PostgreSQL數據庫

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,精通Java編…

機器學習第三篇 模型評估(交叉驗證)

Sklearn:可以做數據預處理、分類、回歸、聚類,不能做神經網絡。原始的工具包文檔:scikit-learn: machine learning in Python — scikit-learn 1.6.1 documentation數據集:使用的是MNIST手寫數字識別技術,大小為70000,數據類型為7…

如何在 IntelliJ IDEA 中編寫 Speak 程序

在當今數字化時代,語音交互技術越來越受到開發者的關注。如果你想在 IntelliJ IDEA(一個強大的集成開發環境)中編寫一個語音交互(Speak)程序,那么本文將為你提供詳細的步驟和指南。 一、環境準備 在開始編…

AI大模型學習十四、白嫖騰訊Cloud Studio AI環境 通過Ollama+Dify+DeepSeek構建生成式 AI 應用-接入DeepSeek大模型

一、說明 需要閱讀 AI大模型學習十三、白嫖騰訊Cloud Studio AI環境 通過OllamaDifyDeepSeek構建生成式 AI 應用-安裝-CSDN博客https://blog.csdn.net/jiangkp/article/details/147580344?spm1011.2415.3001.5331 我們今天干點啥呢,跟著官網走 模型類型 在 Dify…

《Astro 3.0島嶼架構讓內容網站“脫胎換骨”》

內容優先的網站越來越成為主流。無論是新聞資訊、知識博客,還是電商產品展示,用戶都希望能快速獲取所需內容,這對網站的性能和體驗提出了極高要求。而Astro 3.0的島嶼架構,就像是為內容優先網站量身定制的一把神奇鑰匙&#xff0c…

在 UniApp 中實現 App 與 H5 頁面的跳轉及通信

在移動應用開發中,內嵌 H5 頁面或與外部網頁交互是常見需求。UniApp 作為跨平臺框架,提供了靈活的方式實現 App 與 H5 的跳轉和雙向通信。本文將詳細講解實現方法,并提供可直接復用的代碼示例。 文章目錄 一、 App 內嵌 H5 頁面(使…

springboot 實現敏感信息脫敏

記錄于2025年4月28號晚上--梧州少帥 1. 定義枚舉類: public enum DesensitizeType {NAME, EMAIL } 2. 創建自定義注解: 用于標記需要脫敏的字段及其類型。 Retention(RetentionPolicy.RUNTIME) JacksonAnnotationsInside JsonSerialize(using Desen…

SNMP協議之詳解(Detailed Explanation of SNMP Protocol)

SNMP協議之詳解 一、前言 SNMP,被形象地喻為網絡世界大的工具箱,使他們能的“智慧守護者”,它為網絡管理員裝備了一套功能強夠實現對網絡設備狀態的實時監控、性能數據的全面收集、遠程配置的靈活管理以及故障事件的即時響應。借助SNMP&…