Navigation实现动态路由的方式

Navigation实现动态路由的方式

HarmonyOS
2024-08-01 09:32:54
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
油炸帕尼尼

方案一:自定义路由表

实现方式类似于上述动态路由Router的基本实现。

开发者需要自定义路由管理模块,各个提供路由页面的模块都要依赖此自定义路由管理模块;

在构建Navigation组件时,将NavPathStack注入路由管理模块,让路由管理模块封装NavPathStack,并向外提供路由功能;

路由页面不再直接提供组件,而是提供通过@build封装的构建函数,并通过WrappedBuilder进一步封装,实现全局封装;

各个路由页面将模块名称、路由名称、WrappedBuilder封装的构建函数注册到路由模块中;

当需要跳转到指定路由时,路由模块会动态导入指定路由模块,并完成路由跳转操作。

方案二:系统路由表

自API版本12开始,Navigation支持系统级别的跨模块路由表方案。该设计将路由表管理下沉到系统层,即在各个业务模块(HSP/HAR)中独立配置router_map.json文件。在触发路由跳转时,应用只需通过NavPathStack执行路由跳转,系统会自动处理路由模块的动态加载、组件构建和路由跳转,实现了开发层面的模块解耦。

分享
微博
QQ
微信
回复
2024-08-01 18:13:32
相关问题
如何实现路由动态跳转呢
298浏览 • 1回复 待解决
路由实现动态页面的跳转方案
1730浏览 • 1回复 待解决
oh-package.json5实现动态依赖方式
658浏览 • 1回复 待解决
如何通过路由方式打开半屏
311浏览 • 1回复 待解决
路由跳转如何通过scheme方式分发
751浏览 • 1回复 待解决
HarmonyOS 路由页面接收回传参数方式
602浏览 • 1回复 待解决
Navigation实现Tabs切换效果
1088浏览 • 1回复 待解决
如何实现router命名路由跳转
954浏览 • 1回复 待解决
http并行下载实现方式
345浏览 • 1回复 待解决