HarmonyOS 非@Entry组件如何触发onPageShow和onPageHide生命周期回调?

如题:HarmonyOS 非@Entry组件如何触发onPageShow和onPageHide生命周期回调?

阅读 468
1 个回答

参考如下写法:

@Component
struct Component1 {
  uiObserver: UIObserver = this.getUIContext().getUIObserver();

  listener(info: observer.RouterPageInfo) {
    if (info.state === observer.RouterPageState.ON_PAGE_SHOW) {
      console.log('TAG== Component1 == onPageShow');
    } else if (info.state === observer.RouterPageState.ON_PAGE_HIDE) {
      console.log('TAG== Component1 == onPageHide');
    }
  }

  aboutToAppear(): void {
    this.uiObserver.on('routerPageUpdate', this.listener.bind(this));
  }

  aboutToDisappear(): void {
    this.uiObserver.off('routerPageUpdate', this.listener.bind(this));
  }

  build() {
    Text('Component1')
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进