程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java相关开发、鸿蒙开发、人工智能等,专注于程序员搞钱那点儿事,希望在搞钱的路上有你相伴!君志所向,一往无前!
0.前言
不知道大家在日常进行Harmony OS 的App开发的时候,对于页面跳转使用的都咋样,官方是提供了2种方式,分别是组件导航(Navigation)和页面路由(@ohos.router)
两者都是支持应用内的页面跳转,但组件导航支持在组件内部进行跳转,使用更灵活。组件导航具备更强的一次开发多端部署能力,可以进行更加灵活的页面栈操作,同时支持更丰富的动效和生命周期。
因此,推荐使用组件导航(Navigation)来实现页面跳转以及组件内的跳转,以获得更佳的使用体验。
但是我发现在使用组件导航的时候,的确有点麻烦,特别对于普通的项目而言,的确不是很好用,所以又找到了:HMRouter
1.HMRouter是什么呢
HMRouter是HarmonyOS上页面跳转的场景解决方案,主要解决应用内原生页面间相互跳转的问题。
HMRouter路由框架的功能特性,如下所示:
-
使用自定义注解实现路由跳转
-
支持HAR/HSP
-
支持路由拦截、路由生命周期
-
简化自定义动画配置:配置全局动画,单独指定某个页面的切换动画
-
支持不同的页面类型:单例页面、Dialog页面
当然了HMRouter主要可以实现以下功能:
1.实现页面跳转,主要包括:页面跳转与返回、多次页面跳转,返回指定页面、应用未登录,点击跳转登录页的校验、实现单例页面的跳转等效果。
2.弹窗提示,主要包括:实现弹窗类型的页面、返回时弹窗,提示用户是否确认返回、返回时弹窗,提示用户是否确认返回等功能的实现。
3.转场动效,主要包括:全局自定义转场动效、特定页面设置自定义转场、根据条件呈现不同转场动效、交互式转场等。
4.数据加载,主要是以下几点:数据请求预加载,与页面跳转并行化、页面重开数据恢复等。
5.维测场景,主要包括:页面埋点开发的实现。