1***@163.com
1***@163.com
  • 发布:2023-09-14 14:52
  • 更新:2023-09-14 15:33
  • 阅读:1069

用uni.reLaunch跳转tabbar页面后,不触发onShow,onLoad,onHide,onUnload

分类:uni-app

uniapp开发app 用uni.reLaunch跳转tabbar页面后,不触发onShow,onLoad,onHide,onUnload方法

图一,除了调用created方法外,其他的onShow,onLoad,onHide,onUnload都没有触发

需求是进入页面后,调用定时器,离开页面或者隐藏页面后,清除定时器,现在在mounted里打开定时器时,希望在onHide,onUnload清除定时器;可是没有触发,就在跳转页面的时候清除了定时器,可从其他页面返回到该页面时,不触发onShow无法开启定时器,
从网上查了方法,会报错,如图二

大神们求解救

2023-09-14 14:52 负责人:无 分享
已邀请:
喜欢技术的前端

喜欢技术的前端 - QQ---445849201

你是在组件里面用onshow,onLoad 吧,组件没有这个生命周期,你可以在页面onshow,onLoad获取到。属性传值给组件,组件中watch 这个属性

  • 1***@163.com (作者)

    十分感谢,刚接手别人的项目,确实是写的组件

    2023-09-14 17:28

  • 喜欢技术的前端

    回复 1***@163.com: 不客气,解决了就好

    2023-09-14 18:16

1***@163.com

1***@163.com (作者)

这是因为 uni.reLaunch 方法会关闭当前所有页面,并重新打开新的页面,包括 tabbar 页面。由于 tabbar 页面一般会一直存在于应用程序中,所以它们的生命周期钩子函数只会在首次加载时触发一次,而后续的跳转并不会再次触发这些生命周期钩子函数。

一个朋友的回答是这样的,那怎么解决这个问题,自己写tabbar吗???

要回复问题请先登录注册