当前位置: 首页 > news >正文

做返利网站能赚钱网站开发行业标准

做返利网站能赚钱,网站开发行业标准,wordpress 显示标签代码,在线网络培训平台HarmonyOS Navigation路由跳转的完整示例 项目概述 RouterNavigationDemo 是一个 HarmonyOS 应用示例项目,展示了如何在多模块架构中实现页面路由跳转。项目包含一个主模块(entry)和两个库模块(lib_harA 和 lib_hspA&#xff09…

HarmonyOS Navigation路由跳转的完整示例

项目概述

RouterNavigationDemo 是一个 HarmonyOS 应用示例项目,展示了如何在多模块架构中实现页面路由跳转。项目包含一个主模块(entry)和两个库模块(lib_harA 和 lib_hspA),演示了跨模块的页面导航功能。

项目结构

RouterNavigationDemo/
├── entry/                          # 主模块
│   ├── src/main/
│   │   ├── ets/
│   │   │   ├── entryability/      # 应用入口能力
│   │   │   │   └── EntryAbility.ets
│   │   │   └── pages/             # 页面文件
│   │   │       ├── Index.ets      # 首页
│   │   │       └── PageOne.ets    # 页面一
│   │   └── resources/
│   │       └── base/profile/
│   │           ├── main_pages.json    # 主页面配置
│   │           └── router_map.json    # 路由映射配置
├── lib_harA/                       # HAR 库模块
│   └── src/main/
│       ├── ets/pages/
│       │   └── HarAPageOne.ets    # HAR 页面一
│       └── resources/base/profile/
│           └── router_map.json    # HAR 路由映射
└── lib_hspA/                       # HSP 共享模块└── src/main/├── ets/pages/│   └── HspAPageOne.ets    # HSP 页面一└── resources/base/profile/├── main_pages.json    # HSP 主页面配置└── router_map.json    # HSP 路由映射

路由配置详解

1. 主模块 (entry) 配置

1.1 module.json5
{"module": {"name": "entry","type": "entry","mainElement": "EntryAbility","pages": "$profile:main_pages","routerMap": "$profile:router_map"}
}
1.2 main_pages.json
{"src": ["pages/Index"]
}
1.3 router_map.json
{"routerMap": [{"name": "EntryPageOne","pageSourceFile": "src/main/ets/pages/PageOne.ets","buildFunction": "PageOneBuilder","data": {"description": "this is PageOne"}}]
}

2. HAR 库模块 (lib_harA) 配置

2.1 module.json5
{"module": {"name": "lib_harA","type": "har","routerMap": "$profile:router_map"}
}
2.2 router_map.json
{"routerMap": [{"name": "HarAPageOne","pageSourceFile": "src/main/ets/pages/HarAPageOne.ets","buildFunction": "HarAPageOneBuilder","data": {"description": "this is HarAPageOne"}}]
}

3. HSP 共享模块 (lib_hspA) 配置

3.1 module.json5
{"module": {"name": "lib_hspA","type": "shared","pages": "$profile:main_pages","routerMap": "$profile:router_map"}
}
3.2 main_pages.json
{"src": ["pages/Index"]
}
3.3 router_map.json
{"routerMap": [{"name": "HspAPageOne","pageSourceFile": "src/main/ets/pages/HspAPageOne.ets","buildFunction": "HspAPageOneBuilder","data": {"description": "this is HspAPageOne"}}]
}

页面路由关系图

                    ┌─────────────────┐│     Index       ││   (首页)        │└─────────┬───────┘│┌─────────┴───────┐│                  │┌───────────┴──────┐  ┌───────┴──────────┐  ┌───────────┴──────┐│   EntryPageOne   │  │    HarAPageOne   │  │    HspAPageOne   ││   (主模块页面)    │  │   (HAR库页面)    │  │   (HSP共享页面)  │└─────────┬────────┘  └────────┬─────────┘  └─────────┬────────┘│                    │                      │└────────────────────┼──────────────────────┘│┌─────────────────┴─────────────────┐│           返回首页                ││        (pathStack.clear())        │└───────────────────────────────────┘

路由跳转实现

1. 首页 (Index.ets)

首页包含三个按钮,分别跳转到不同的页面:

// 跳转到主模块页面
Button($r('app.string.entry_pageOne')).onClick(() => {this.pathStack.pushPathByName('EntryPageOne', '从首页到EntryPageOne');})// 跳转到HAR库页面
Button($r('app.string.harA_pageOne')).onClick(() => {this.pathStack.pushPathByName('HarAPageOne', '从首页到HarAPageOne');})// 跳转到HSP共享页面
Button($r('app.string.hspA_pageOne')).onClick(() => {this.pathStack.pushPathByName('HspAPageOne', '从首页到HspAPageOne');})

2. 主模块页面 (PageOne.ets)

// 返回首页
Button('toEntryIndex').onClick(() => {this.pathStack.clear();})// 跳转到HAR库页面
Button('to_HarA_PageOne').onClick(() => {this.pathStack.pushPathByName('HarAPageOne', '从EntryPageOne到HarAPageOne');})// 跳转到HSP共享页面
Button('to_HspA_PageOne').onClick(() => {this.pathStack.pushPathByName('HspAPageOne', '从EntryPageOne到HspAPageOne');})

3. HAR库页面 (HarAPageOne.ets)

// 返回首页
Button('toEntryIndex').onClick(() => {this.pathStack.clear();})// 跳转到主模块页面
Button('to_Entry_PageOne').onClick(() => {this.pathStack.pushPathByName('EntryPageOne', '从HarAPageOne到EntryPageOne');})// 跳转到HSP共享页面
Button('to_HspA_PageOne').onClick(() => {this.pathStack.pushPathByName('HspAPageOne', '从HarAPageOne到HspAPageOne');})

4. HSP共享页面 (HspAPageOne.ets)

// 返回首页
Button('toEntryIndex').onClick(() => {this.pathStack.clear();})// 跳转到主模块页面
Button('to_Entry_PageOne').onClick(() => {this.pathStack.pushPathByName('EntryPageOne', '从HspAPageOne到EntryPageOne');})// 跳转到HAR库页面
Button('to_HarA_PageOne').onClick(() => {this.pathStack.pushPathByName('HspAPageOne', '从HspAPageOne到HarAPageOne');})

关键API说明

1. NavPathStack

NavPathStack 是 HarmonyOS 提供的导航路径栈,用于管理页面导航状态:

  • pushPathByName(name: string, param?: Object): 通过页面名称推入新页面
  • clear(): 清空导航栈,返回首页

2. NavDestination

每个页面都包装在 NavDestination 组件中,提供导航上下文:

NavDestination().onReady((context: NavDestinationContext) => {this.pathStack = context.pathStack;this.paramStr = context.pathInfo.param as string;})

3. Navigation

首页使用 Navigation 组件作为导航容器:

Navigation(this.pathStack) {// 页面内容
}

路由跳转流程

  1. 应用启动: EntryAbility 加载首页 Index
  2. 页面跳转: 用户点击按钮,调用 pathStack.pushPathByName() 跳转
  3. 参数传递: 跳转时可以传递参数,在目标页面的 onReady 回调中接收
  4. 返回首页: 调用 pathStack.clear() 清空导航栈,返回首页

注意事项

  1. 模块依赖: 确保在 oh-package.json5 中正确配置模块依赖关系
  2. 路由名称: 路由名称必须与 router_map.json 中的 name 字段一致
  3. 页面构建函数: 每个页面都需要提供对应的构建函数(如 PageOneBuilder
  4. 导航栈管理: 合理使用 clear() 方法,避免导航栈过深

总结

RouterNavigationDemo 项目展示了 HarmonyOS 中多模块页面路由跳转的完整实现方案,通过 NavPathStackrouter_map.json 配置,实现了跨模块的页面导航功能。这种架构设计使得应用具有良好的模块化特性,便于维护和扩展。

项目地址

http://www.dtcms.com/a/463773.html

相关文章:

  • 有没有专门做ppt的网站吗中信建设有限责任公司项目人员配置
  • 网站的 联系我们怎么做建设银行辽宁省分行网站
  • 中国制造网网站类型广州企业管理咨询公司排名
  • 怎么做自己的一个网站wordpress站点取名
  • 网站的落地页万网网站建设步骤
  • 广州做手机网站信息做包装盒效果图的网站
  • 网站建设ppt简介微信小程序开发工具教程
  • 二手书网站建设策划书邯郸百姓网免费发布信息
  • 大山子网站建设网络系统管理大赛样题
  • 网站建设详情页一般建设网站的常见问题
  • 河南网站建设优化做流量的网站
  • 网站建设电销天河网站建设集团
  • 网站seo方案设计建设网站得多少钱
  • 网站开发答辩网站认证源码
  • 咖啡网站设计建设网络服务列表在哪里
  • 自助分红网站建设安卓网站建站系统下载
  • 检察门户网站 建设意义简述网站建设和推广评价指标
  • 如何创建自己网站做网站公司青岛
  • 亚马逊在哪个网站做推广培训网站建设课程
  • html免费网站模板下载wordpress标签多重筛选
  • 福州最好的网站建设公司我的网站没备案怎么做淘宝客推广
  • MATLAB基于组合赋权云模型的危险品运输教员CBTA胜任力评价
  • 福州房地产网站建设商丘做网站公司
  • 做网站网络公司什么网站做海报赚钱
  • 上海怎么建设网站南昌网页制作公司
  • 大理高端网站建设个人网页制作完整教程
  • 外贸自建零售网站做仿牌管理咨询公司ppt
  • 网页可信站点天元建设集团有限公司第八建筑
  • 广州站电话django企业网站开发实例
  • 陕西网站建设策划内容wap游戏引擎