【HarmonyOS】如何实现entry模块页面跳转HSP共享包页面(API9)

发布时间 2023-12-15 15:36:01作者: Mayism123
【关键字】

API9、ArkTS、跨包路由跳转、entry模块页面跳转HSP共享包页面

 

【写在前面】

本篇文章主要介绍使用API9 ArkTS开发鸿蒙应用时,如何实现从entry模块或feature模块页面,跳转到HSP library模块的页面。

 

【开发步骤】

第一步:在API9 Stage模型的工程中,【右键-New-Module】选择Shared Library模板新建HSP共享包模块,命名为library,会在工程目录下生成library模块;

cke_562.png

cke_1053.png

cke_1584.png

第二步:在entry模块页面中,定义按钮点击实现,编写跳转代码,如下所示:

import router from '@ohos.router';

@Entry
@Component
struct Index {
  build() {
    Column() {
      Button("跳转library页面").onClick(() => {
        router.pushUrl({
          url: '@bundle:com.harmonyos.myapplication/library/ets/pages/Index'
        }).then(() => {
          console.log("push page success");
        }).catch(err => {
          console.error(`pushUrl failed, code is ${err.code}, message is ${err.message}`);
        })
      })
    }
    .width("100%")
    .height("100%")
  }
}

其中router.pushUrl方法的入参中url内容的模板为:

'@bundle:包名(bundleName)/模块名(moduleName)/路径/页面所在的文件名(不加.ets后缀)'

第三步:在DevEco Studio中点击【Run-Edit Configurations】打开配置项,点击entry模块下的“Deploy Multi Hap”勾选“Deploy Multi Hap Packages”将entry和library模块一起运行,如下所示:

cke_4576.png

第四步:运行工程,点击“跳转library页面”按钮,即可实现跳转到library的index页面,最终效果如下所示:

 

【参考文档】

HSP-跨包页面路由跳转