鸿蒙开发 组件化 router 方案
多Har包-自定义路由方案
最近鸿蒙组件化开发遇到的问题就是多har包路由跳转问题,头大…
Router管理目录
我是放在公共har包里面,创建了两个类,一个BARouter
,一个 BARouterPath
,下面讲下思路:
路由管理最主要的是传入的path
和 params
,path
规范的话可以更好的组件化解析,
所以我单独建了 BARouterPath
类来处理path问题:
RouterPath 路径处理
在 BARouterPath
里我建了三个host
类型,其实就是我们App开发最主要的跳转入口:App、H5、小程序
在定义好host后,再拼接成标准的URL协议:
Router管理
path 问题定义好后,就是router的解析了:
这里我主要入口就一个,根据传入的 URL 去解析各项数据来识别跳转
上图我解析了 URL的host
、 path
、params
,根据 host
来识别入口跳转
使用案例
在我的 鸿蒙微信 案例中多个 har 包路由跳转有具体实现,需要的话可以前往下载查看,别忘了点星哈!
在需要跳转的页面引入 routeName
然后在需要跳转的地方调用我们路由文件中的方法:
注:如有需要可以前往 GitHub 查看 鸿蒙微信 的具体实现: