#HarmonyOS NEXT体验官# HMRouter使用详解(一)环境配置

37 阅读2分钟

踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!developer.huawei.com/consumer/cn…

背景

在项目中使用官方推荐的Navigation时,需要在所有的页面上都添加一层NavDestination,在代码阅读上会增加多个层级,而且还要在主页面设置对应名字的跳转等问题,配置起来比较繁琐。看到大佬开发的HMRouter使用起来方便简洁,因此,写下这篇文章记录HMRouter的使用。

插件配置

1.HMRouter安装

在终端中运行下面命令进行第三方库的安装。

图片 1.png

![图片 2.png]( "图片 2.png")

图片 3.png

2.添加路由编译插件

修改项目的hvigor/hvigor-config.json文件中的dependencies数组。

图片 4.png

图片 5.png

3.使用路由编译插件

在项目的entry/hvigorfile.ts文件中添加插件的使用。如果模块是Har则使用harPlugin(),模块是Hsp则使用hspPlugin()

4.工程配置

由于拦截器、生命周期和自定义转场动画会在运行时动态创建实例,因此需要进行如下配置,使得HMRouter路由框架可以动态导入项目中的模块。

在工程目录下的build-profile.json5中,配置useNormalizedOHMUrl属性为true。

图片 6.png

HMRouter使用

在UIAbility中初始化路由框架

在OnCreate中初始化路由框架。

图片 7.png

在首页中定义路由入口

自定义一个NavModifier类,继承AttributeUpdater

图片 8.png

然后编写页面代码

图片 9.png

HMNavigation 参数解析

· navigationId :容器ID并且全局统一

· homePageUrl:指定默认加载的页面

· navigationOption:全局参数设置。

modifier:Navigation动态属性设置

standardAnimator:页面全局动画配置

dialogAnimator:弹窗全局动画配置

title:navigation的Title设置

menus:navigation的menus设置

toolbar:navigation的toolbar设置

systemBarStyle:navigation的systemBarStyle设置

页面设置

新建跳转的页面TwoPage,里面按钮使用HMRouterMgr.pop方法实现返回上个页面的操作。
必须加上@HMRouter装饰器,pageUrl方法来定义页面的名称

图片 10.png

总结

这篇帖子主要关注在HMRouter的环境部署和简单的页面跳转。

这里附上HMRouter的Gitee地址

(转载自51CTO,作者:奥尼5354)