HarmonyOS 跨模块的页面路由问题

Hap里调用har的页面,必须使用命名路由router.pushNamedRoute(),并且需要import目标页面。这样很不便利,除了要知道页面name,还要知道页面的类。

很多场景下并无法知道目标页面的类,就无法打开har里的页面。

在只有一个UIAbility的app中,调用har的页面能否只使用name,而不需要import页面的类?

HarmonyOS
18h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

不可以

1.har是一个共享包,早期的设计是不允许有页面的概念存在的,所以har里面的组件不能加@Entry这样的注解,也没有main_page.json5配置文件

命名路由使用注意点:

1.命名路由不局限于module类型,在共享包可用包括hsp和har,在entry或featrue也可用

2.命名路由目前的使用必须要import对应组件,即若无import(“module”)则无法生效

3.@Entry({routeName})注解约等于@Entry,实现在har中伪定义页面效果,routeName对应的值也就是接口pushNameRoute入参的name

4.pushNameRoute和pushUrl无关联

5.组件无法作为页面使用,拥有@Entry的组件可以作为页面入口,所以对应文件可以作为页面

对于从module A 使用路由打开 module B的page,不要import B page的类,有没有解决办法

–暂时不支持这种写法。可以尝试使用Navigation路由的方式,直接引用B page的类名跳转页面。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-navigation-navigation-V5#页面显示类型

也可以参考动态路由的方式管理项目:https://gitee.com/harmonyos-cases/cases/blob/master/CommonAppDevelopment/feature/routermodule/README.md

分享
微博
QQ
微信
回复
14h前
相关问题
模块路由跳转问题有知道吗?
1906浏览 • 1回复 待解决
HarmonyOS 怎么模块路由跳转界面
1151浏览 • 1回复 待解决
HarmonyOS 模块页面跳转
27浏览 • 1回复 待解决
HarmonyOS @Expend模块使用问题
410浏览 • 1回复 待解决
HarmonyOS 路由返回页面问题
449浏览 • 0回复 待解决
HarmonyOS 路由页面管理问题
342浏览 • 1回复 待解决
HarmonyOS 模块无法跳转
1浏览 • 0回复 待解决
HarmonyOS 能否模块使用@Styles
337浏览 • 1回复 待解决
基于原生模块资源访问
734浏览 • 1回复 待解决
HarmonyOS 路由切换页面过渡慢问题
391浏览 • 1回复 待解决
HarmonyOS 如何模块启动悬浮窗
19浏览 • 1回复 待解决
HarmonyOS 页面路由 移除页面
94浏览 • 1回复 待解决
HarmonyOS 资源文件无法模块访问
93浏览 • 1回复 待解决