HarmonyOS import动态导入绝对路径?

在profile目录自定义一个路由,路径定义的是绝对路径,在动态导入时失败了,目前试过系统定义的格式:src/main/ets/pages/login/LoginPage以及 ets/pages/login/LoginPage,这两个路径都不行,请问这个绝对路径要怎么定义?

阅读 635
1 个回答

需要加上系统路由表文档地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-navigation-navigation-V5\#系统路由表

{
  "pageMap": [
  {
    "name": "Login",
  "pageSourceFile": "src/main/ets/pages/login/LoginPage.ets",
  "buildFunction": "loginPageBuilder",
  "data": {
    "description" : "this is PageOne"
  }
  }
  ]
}
//index.ts
import { PageManager } from '../util/PageManager';

@Entry
@Component
struct Index {
  // 界面管理
  @Provide('pageInfos') pageInfos: NavPathStack = new NavPathStack()

  aboutToAppear(): void {
    PageManager.getInstance().initNavPathStack(this.pageInfos)
  }

  /**
   * 界面指向
   * TODO 优化路由表,改为动态导入包进行加载界面
   * @param name 界面名称
   */
  @Builder
  PageMap(pageName: string, param:object) {
    PageManager.getInstance().getBuilder(pageName).builder(param)
  }
  build() {
    Navigation(this.pageInfos) {
      Button('跳转').onClick(()=>{
        PageManager.getInstance().pushName('Login')

      })
    } .mode(NavigationMode.Stack)
    .title('Main')
    .width('100%')
    .height('100%')
  }

}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进