简介
Arouter是一款适用于OpenAtom OpenHarmony(以下简称“OpenHarmony”)的轻量高效的页面路由工具,相比原生的路由方案,Arouter更有优势。传统的路由方案使用显示Intent和隐式Intent进行跳转,会存在一些问题。使用显式Intent耦合度过高,而使用隐式Intent集中式管理Path会导致协作困难。Arouter采用自定义的路由方案,通过解析标准URL进行跳转,避免了直接依赖的问题。使用分布式管理页面配置,解决了集中式管理Path的问题,整个路由跳转过程更加透明,具有更好的扩展性。
Arouter 相比原生路由方案,具有更低的耦合度、更好的协作性和控制拦截能力,同时采用分布式管理页面配置,提供了更好的扩展性,目前支持 SDK:OpenHarmony API Version 10 版本。
使用说明
Arouter 支持以下功能:
● 支持页面间路由跳转;
● 支持带参数跳转及回调;
● 支持配置跳转拦截器;
● 支持预处理跳转与否;
路由跳转
1. 不传参跳转
通过Arouter.getInstance()创建路由对象,使用链式调用方法 build(‘’)配置跳转的页面,navigation() 方法进行页面跳转。
import {Arouter} from "@ohos/arouteronactivityresult";
Arouter.getInstance()
.build("--/--") //需要跳转的地址
.navigation()
2.传参跳转
在不传参跳转的基础上,跳转之前通过withParams()进行参数配置。
import {Arouter} from "@ohos/arouteronactivityresult";
Arouter.getInstance()
.build("--/--") //需要跳转的地址
withParams({index:"--"})
navigation()
3.路由回调
路由回调需要配合NavigationCallback接口进行,在路由前的页面实现NavigationCallback接口
import {NavigationCallback} from '@ohos/arouteronactivityresult'
var callback:NavigationCallback = {
onInterrupt(postcard){},
onArrival(postcard){},
onActivityResult(data){}
}
然后将callback传入 .navigationWithCallback