如何感知 @Component 组件的 show 和 hide?

  • 2026-02-05
    北京
  • 本文字数:408 字

    阅读完需:约 1 分钟

本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。

 

有没有什么办法能感知 @Component 页面的展示和隐藏?没有被 @Entry 修饰的 @Component 组件,也没用使用 NavDestination

 

比如 setInterval 定时器,在页面隐藏的时候想 clearInterval,感觉很少有情况会进入 aboutToDisappear 这个生命周期中,虽然 setInterval 机制在页面不活跃的时候就会自动不再执行,但是还是想知道有什么办法能感知 @Component 页面的展示和隐藏?

 

是不是只有这个 @Entry 页面移除了页面栈时才会进入 aboutToDisappear 中,比如在 B 页面执行 router.back 回到 A 页面,就会执行 B 页面的 aboutToDisappear,并销毁 B 页面。

解决方案:

原理的话参考一下文档:组件可见区域变化事件-组件变化事件-通用事件-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者

具体代码和其他解决方案与思路的讨论,请点击原帖查看:

如何感知@Component页面的show和hide-华为开发者问答 | 华为开发者联盟 (huawei.com)