鸿蒙 Problems:路由导航
DevEco Studio 版本:DevEco Studio NEXT Developer Preview2
HarmonyOS API 版本:4.1.0(11)
0x01 The named route is not exist.
问题描述
在想要跳转到的 Har 或者 Hsp 子模块的页面(hara 模块的 Index 页面),已经使用 @Entry({ routeName: "hara_index_page" })
给 Index 页面自定义命名,使用
1 | router.pushNamedRoute({ |
进行跳转,也对 hara 模块进行了依赖。然以执行跳转的时候,还是报了 The named route is not exist.
异常。
解决方案
查看文档发现,还需要在配置成功后,手动在跳转的页面中 import 被跳转页面:
1 | import("@ohos/hara/src/main/ets/pages/Index"); // 引入共享包中的命名路由页面 |
0x02 A page configured in ‘main_pages.json’ must have one and only one ‘@Entry’ decorator.
问题描述
在main_pages.json
文件中申明的 Page 页面,必须有且只有一个@Entry
的装饰器。
但是我检查了项目中所有main_pages.json
文件配置的 Page 页面都满足要求。然后怎么清除缓存重新安装都没有用。
后来,发现项目是分层+模块化架构,其中一个 har 模块没有配置 main 入口。(一般使用 DevEco Studio 直接创建 har 模块不会有这个问题)
解决方案
在模块的oh-package.json5
文件中配置main
入口如下:
1 | { |