HarmonyOS 鸿蒙next 跨模块路由跳转

发布于 1周前 作者 itying888 最后一次编辑是 5天前 来自 鸿蒙OS

【关键字】 HarmonyOS 鸿蒙next 跨模块路由跳转 跨模块跳转 / 跳转到HAR包页面 / 页面路由

【问题描述】 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/in-app-hsp-0000001774119898#ZH-CN_TOPIC_0000001774119898__页面路由跳转

根据这篇文章实现跨模块跳转,点击绑定新企业页面跳转使用,方案一无法跳转,使用方案二可以跳转。

方案一:

router.pushUrl({ url:'[@bundle](/user/bundle):com.picc.digitalpicc/library/ets/components/mainpage/MainPage'
 }).then(() => {
 console.log('push page success');
 }).catch((err: BusinessError) => {
 console.error('', `pushUrl failed, code is ${err.code}, message is ${err.message}`);
 })

方案二:

import('../../../../../library/src/main/ets/components/mainpage/MainPage')
router.pushNamedRoute({
name: 'MainPage'
})

【解决方案】 如果跳转的模块类型为HAR包,@bundle:方式无法跳转到har包中的页面如果要跳转到har包页面,请使用命名路由的方式。

参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-routing-0000001813575888


更多关于HarmonyOS 鸿蒙next 跨模块路由跳转的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙next 跨模块路由跳转的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


 let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
 // context为Ability对象的成员,在非Ability对象内部调用需要
 // 将Context对象传递过去
 let wantInfo: Want = {
   deviceId: '', // deviceId为空表示本设备
   bundleName: 'com.cidi.homsbase',
   moduleName: 'entry', // moduleName非必选
   abilityName: 'EntryAbility',
   parameters: {
     // 自定义信息
     info: '来自EntryAbility Page_UIAbilityComponentsInteractive页面'
   },
 };
 // context为调用方UIAbility的UIAbilityContext
context.startAbility(wantInfo).then(() => {
   hilog.info(DOMAIN_NUMBER, TAG, 'startAbility success.');
 }).catch((error: BusinessError) => {
   hilog.error(DOMAIN_NUMBER, TAG, 'startAbility failed.');
 });
回到顶部