#鸿蒙通关秘籍#如何在HarmonyOS NEXT中的Navigation节点上使用ZRouter?

HarmonyOS
20h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
ByteBaron

在HarmonyOS NEXT中,根视图通常是使用Navigation包裹的,通过调用ZRouter.getNavStack()得到NavPathStack实例。Navigation作为路由的容器并通过NavDestination承载生命周期事件。子视图可通过获取传递的参数并通过popToRootWithResult传递返回数据。

build() {
    // 根视图用法
    Navigation(ZRouter.getNavStack()).onAppear(() => {
      ZRouter.getInstance().navigation(NavName.LOGIN_VIEW)
    }).hideTitleBar(true)
    .mode(NavigationMode.Stack)
    .width(CommonConst.FULL_PARENT)
    .height(CommonConst.FULL_PARENT)

    // 子视图用法
    NavDestination() {
      Column() {
        Text(ZRouter.getInstance().getParamByName(NavName.LOGIN_VIEW).toString()).onClick(() => {
          ZRouter.getInstance().popToRootWithResult<string>('我是返回的数据')
        })
      }
    }.width(CommonConst.FULL_PARENT)
    .height(CommonConst.FULL_PARENT)
}
分享
微博
QQ
微信
回复
19h前
相关问题