可以使用命名路由方式跳转,指定模块名称,具体可参考官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...在使用页面路由Router相关功能之前,需要在代码中先导入Router模块。import router from '@ohos.router';在想要跳转到的共享包Har或者Hsp页面里,给@Entry修饰的自定义组件命名:// library/src/main/ets/pages/Index.ets // library为新建共享包自定义的名字 @Entry({ routeName: 'myPage' }) @Component export struct MyComponent { build() { Row() { Column() { Text('Library Page') .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }配置成功后需要在跳转的页面中引入命名路由的页面:import router from '@ohos.router'; import { BusinessError } from '@ohos.base'; const module = import('library/src/main/ets/pages/Index'); // 引入共享包中的命名路由页面 @Entry @Component struct Index { build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Text('Hello World') .fontSize(50) .fontWeight(FontWeight.Bold) .margin({ top: 20 }) .backgroundColor('#ccc') .onClick(() => { // 点击跳转到其他共享包中的页面 try { router.pushNamedRoute({ name: 'myPage', params: { data1: 'message', data2: { data3: [123, 456, 789] } } }) } catch (err) { let message = (err as BusinessError).message let code = (err as BusinessError).code console.error(`pushNamedRoute failed, code is ${code}, message is ${message}`); } }) } .width('100%') .height('100%') } }
可以使用命名路由方式跳转,指定模块名称,具体可参考官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...
在使用页面路由Router相关功能之前,需要在代码中先导入Router模块。
在想要跳转到的共享包Har或者Hsp页面里,给@Entry修饰的自定义组件命名:
配置成功后需要在跳转的页面中引入命名路由的页面: