收藏
回答

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

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

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

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





- 预期表现

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

- 复现路径


- 提供一个最简复现 Demo


回答关注问题邀请回答
收藏

2 个回答

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

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

    2019-01-21
    有用
    回复 1
    • 2019-01-22

      好的,麻烦尽快修复

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

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

    2019-01-17
    有用
    回复 11
    • 2019-01-17

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


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

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

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

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

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

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

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

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

      2019-01-17
      回复
    查看更多(6)
登录 后发表内容