Name | Date | Size | ||
---|---|---|---|---|
.. | 25-Oct-2024 | 4 KiB | ||
.gitignore | H A D | 25-Oct-2024 | 119 | |
AppScope/ | H | 25-Oct-2024 | 4 KiB | |
build-profile.json5 | H A D | 25-Oct-2024 | 1.3 KiB | |
entry/ | H | 25-Oct-2024 | 4 KiB | |
harA/ | H | 25-Oct-2024 | 4 KiB | |
harB/ | H | 25-Oct-2024 | 4 KiB | |
hvigor/ | H | 25-Oct-2024 | 4 KiB | |
hvigorfile.ts | H A D | 25-Oct-2024 | 825 | |
hvigorw | H A D | 25-Oct-2024 | 1.4 KiB | |
hvigorw.bat | H A D | 25-Oct-2024 | 1.5 KiB | |
images/ | H | 25-Oct-2024 | 4 KiB | |
oh-package.json5 | H A D | 25-Oct-2024 | 853 | |
ohosTest.md | H A D | 25-Oct-2024 | 717 | |
README_zh.md | H A D | 25-Oct-2024 | 2.8 KiB | |
RouterModule/ | H | 25-Oct-2024 | 4 KiB |
README_zh.md
1# Navigation动态路由 2 3### 介绍 4 5本项目提供动态路由的验证,运用了WrapperBuilder的自定义函数打包能力,以及动态路由的跨模块文件引用的能力,解除了har包和hap包的依赖关系,实现了 6即使hap包不引用har包,依然能跳转到har包中的页面的能力 7目前还不支持动态import变量表达式和跨模块相对路径的文件,所以代码中使用switch作为替代,若后续版本支持,会出相应的补丁 8由于环境的差异,不建议下载后直接编译,应先当创建项目,参考示例代码进行编写 9 10### 效果预览 11 12 13 14 15使用说明 16 171. 主页会提供一个NavIndex的导航页,点击按钮会跳转到不同的来自har包的页面 18 192. 每个har包的页面也存在跳转到别的页面的按钮 20 21### 工程目录 22 23``` 24. 25├── entry // 主页面 26│ ├── pages 27│ │ ├── Index.ets 28│ ├── entryability 29│ │ ├── EntryAbility.ets 30├── harA 31│ ├── pages 32│ │ ├── page1.ets 33│ │ ├── page2.ets 34│ │ ├── page3.ets 35│ ├── entryability 36│ │ ├── EntryAbility.ets 37├── harB 38│ ├── pages 39│ │ ├── page1.ets 40│ │ ├── page2.ets 41│ │ ├── page3.ets 42│ ├── entryability 43│ │ ├── EntryAbility.ets 44├── RouterModule 45│ ├── utils 46│ │ ├── RouterModule.ets 47│ ├── entryability 48│ │ ├── EntryAbility.ets 49. 50``` 51 52### 具体实现 53 541.创建hapA harA harB 55 562.创建路由框架RouterModule,使用map存储hap包的路由和har包的页面信息 57 583.在RouterModule中封装get和set方法,并对外开放,允许外部模块引用和调用 59 604.创建push方法,允许传入一串url,并对其进行解析,通过拆解出路由名称从map中获取到路由栈,并将目标页面压栈 61 625.在hap和har包中引入RouterModule,将hap包的路由栈和har包的页面信息通过开放的set方法存入RouterModule 63 64### 相关权限 65 66不涉及 67 68### 约束与限制 69 701. 本示例仅支持标准系统上运行,支持设备:RK3568。 71 722. 本示例需要使用DevEco Studio 版本号(Build Version: 4.1.1.500, built on January 21, 2024)及以上版本才可编译运行。 73 743. 本示例为Stage模型,支持API11版本SDK,SDK版本号(4.1.6.3以上),镜像版本号(4.1.6.3以上)。 75 76### 下载 77 78如需单独下载本工程,执行如下命令: 79 80``` 81git init 82git config core.sparsecheckout true 83echo code/BasicFeature/ApplicationModels/DynamicRouter > .git/info/sparse-checkout 84git remote add origin https://gitee.com/openharmony/applications_app_samples.git 85git pull origin master 86``` 87