介绍
本示例将介绍如何使用装饰器和插件,自动生成动态路由表,并通过动态路由跳转到模块中的页面,以及如何使用动态import的方式加载模块。
目前,已有三方库HMRouter封装了完整的动态路由功能,添加了生命周期回调、内置转场动画等功能,如有需要,可直接使用。
使用说明
- 自定义装饰器
- 添加装饰器和插件配置文件,编译时自动生成动态路由表
- 配置动态路由,通过WrapBuilder接口,动态创建页面并跳转。
- 动态import变量表达式,需要DevEco Studio NEXT Developer Preview1 (4.1.3.500)版本IDE,配合hvigor 4.0.2版本使用。
- 支持自定义路由栈管理。
实现思路
-
初始化动态路由
public static routerInit(config: RouterConfig, context: Context) { DynamicsRouter.config = config; DynamicsRouter.appRouterStack.push(HOME_PAGE); RouterLoader.load(config.mapPath, DynamicsRouter.routerMap, context); }
-
获取路由
private static getNavPathStack(): NavPathStack { return DynamicsRouter.navPathStack; }
-
通过builderName,注册WrappedB