#鸿蒙通关秘籍#如何在鸿蒙中实现动态路由跳转页面?

HarmonyOS
2024-12-09 14:49:36
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
曦光逐梦CTP

动态路由跳转可以通过以下步骤实现:

  1. 注册路由: 使用 createNavPathStack 方法注册路由栈。

    typescript public static createNavPathStack(router: NavPathStack): void { DynamicsRouter.navPathStack = router; }

  2. 获取路由: 使用 getNavPathStack 方法来获取注册到的导航路径栈。

    typescript private static getNavPathStack(): NavPathStack { return DynamicsRouter.navPathStack; }

  3. 页面跳转: 使用 push 方法实现页面模块的动态加载和跳转。

    typescript public static async push(routerInfo: RouterInfo, param?: string): Promise<void> { const pageName: string = routerInfo.pageName; const moduleName: string = routerInfo.moduleName; let isImportSucceed: boolean = false; await import(moduleName).then((result: ESObject) => { result.harInit(pageName); isImportSucceed = true; }, (error: ESObject) => { logger.error(LOGGER_TAG, error); }); if (isImportSucceed) { const builderName: string = moduleName + "/" + pageName; DynamicsRouter.getNavPathStack().pushPath({ name: builderName, param: param }); } }

分享
微博
QQ
微信
回复
2024-12-09 16:12:08
相关问题
路由实现动态页面跳转方案
1936浏览 • 1回复 待解决