HarmonyOS 使用Navigation,如何在页面栈跳转中获取页面生命周期?

在使用 Navigation 中,页面栈跳转只能获取到 aboutToAppear、aboutToDisappear,无法获取到 onPageShow、onPageHide,请问这个要如何处理或者有没有其他机制可以实现

例如:

struct A1 {
  // 创建NavPathStack路由栈
  @State harARouter: NavPathStack = new NavPathStack();

  @Builder
  routerMap(builderName: string, param: object) {
    if (builderName === 'B1') {
      // 在 B1 是一个 @Component 组件,需要在 push 到 B1 页面时,能捕获到  onPageShow、onPageHide 等页面生命周期
      B1() // 在routerMap中添加需要跳转的harB模块的B1页面
    }
  }

  build() {
    // Navigation关联NavPathStack对象
    Navigation(this.harARouter) {
      Button('跳转到HarB的B1页面')
        .onClick(() => {
          // 跳转到已在路由表注册的harB模块的B1页面
          this.harARouter.pushPathByName('B1', null);
        })
    }
    .navDestination(this.routerMap) // Navigation关联上routerMap路由表
  }
}
阅读 538
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进