往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)
NavPushPathHelper
当跳转的目标NavDestination在不同的hsp分包,且未被主包依赖,首次运行元服务只会下载安装主包,需要使用NavPushPathHelper先下载安装相应hsp分包,再将指定的NavDestination页面信息入栈。使Navigation支持动态加载hsp分包后再跳转。
说明
该组件从API Version 12开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
导入模块
import { NavPushPathHelper } from '@kit.ArkUI'
子组件
无
属性
不支持通用属性
NavPushPathHelper
对Navigation路由栈NavPathStack的所有路由跳转接口进行了封装,在NavPushPathHelper中持有一个NavPathStack对象,在封装的跳转接口中,去判断子包是否存在,如果不存在则进行动态下载子包,等结果返回后调用NavPathStack的相应的接口将指定的NavDestination页面信息入栈。
constructor
constructor(navPathStack: NavPathStack)
NavPushPathHelper的构造函数。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
navPathStack | NavPathStack | 是 | Navigation路由栈。 |
pushPath
pushPath(moduleName: string, info: NavPathInfo, animated?: boolean): Promise<void>
先判断分包是否存在,若不存在,则通过moduleName下载分包,再将info指定的NavDestination页面信息入栈,使用Promise异步回调返回接口调用结果。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
moduleName | string | 是 | 目标NavDestination所在分包的moduleName。 |
info | NavPathInfo | 是 | NavDestination页面的信息。 |
animated | boolean | 否 | 是否支持转场动画,默认值:true。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 异常返回结果。 |
错误码:
以下错误码的详细介绍。
错误码ID | 错误信息 |
---|---|
300001 | hsp silent install fail. |
pushPath
pushPath(moduleName: string, info: NavPathInfo, options?: NavigationOptions): Promise<void>
先判断分包是否存在,若不存在,则通过moduleName下载分包,再将info指定的NavDestination页面信息入栈,使用Promise异步回调返回接口调用结果,具体根据options中指定不同的LaunchMode,有不同的行为。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: