收藏
回答

关于组件生命周期没有实现的BUG

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 客户端 7.0.0 2.5.0

- 当前 Bug 的表现(可附上截图)

  在tabs页面中3个页面包含自定义组件,但在一个页面退出tabs页面后,只有退出页面的组件生命周期运行正确,其余的并未运行,导致组件中的定时器任然在运行,重新进去也没有消除掉





- 预期表现

    未在前台的组件,也应该实现他的生命周期

- 复现路径


- 提供一个最简复现 Demo


最后一次编辑于  01-17
回答关注问题邀请回答
收藏

2 个回答

  • 小程序技术专员-june
    小程序技术专员-june
    01-21

    已确认这里是 bug,没有触发这种情况下的自定义组件的 detached 生命周期,我们会在近期 patch 版本进行修复。

    01-21
    赞同
    回复 1
    • Church
      Church
      01-22

      好的,麻烦尽快修复

      01-22
      回复
  • 卢霄霄
    卢霄霄
    01-17

    确实。。实现有问题。。如果是2.5,可以在页面的onUnload里去调用组件的方法来关闭。。如果是更早的版本的基础库,可能只有把实例存app.js里,然后统一来关闭了。。

    01-17
    赞同
    回复 11
    • Church
      Church
      01-17

      我主要是想做一个全局唯一的组件,但是无法实现,才在里面加了定时检查的功能,以此来冒充全局唯一,要是能实现全局唯一自然不会有这种bug


      01-17
      回复
    • 卢霄霄
      卢霄霄
      01-17回复Church

      冒昧问一下,全局唯一是什么意思呢?能不能每次改动这个组件的时候就把最新的内容放到app.js里,然后每个有这个的页面onShow的时候,从app.js拿最新的内容来渲染

      01-17
      回复
    • Church
      Church
      01-17回复卢霄霄

      你可以这么理解,就好像app中的悬浮布局

      01-17
      回复
    • Church
      Church
      01-17回复卢霄霄

      本身状态就是会一直变化的,而且还需要一直统一

      01-17
      回复
    • 卢霄霄
      卢霄霄
      01-17回复Church

      嗯 那可以每次移动就记录当前位置,onHide的时候隐藏,onShow的时候再用当前位置显示出来

      01-17
      回复
    查看更多(6)