收藏
回答

wx.reLaunch 不会触发 onHide 生命周期,这是一个bug 吗?

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.reLaunch 工具 6.7.2 2.2.3

Page({

    onLoad() {

        setTimeout(() => { wx.reLaunch({ url: xxx }) }, 3000)

      },

      onHide() {

        console.log(123)

    }

})



如果不是bug,能否说明下为何这么设计?

最后一次编辑于  2018-09-25
回答关注问题邀请回答
收藏

2 个回答

  • 韬々
    韬々
    2018-09-25


    第一个问题:因为在relaunch的时候并没有隐藏页面,而是先卸载页面栈内所有页面再重加载url对应的页面。因此并不会触发onHide。



    第二个问题:onLaunch全局只会触发一次。而且relaunch并不是真正的“重启”小程序。


    不过这里的命名确实有点让人疑惑,我们会重新考虑这里的命名规则。感谢反馈。

    2018-09-25
    赞同 1
    回复
  • 胡泽涵
    胡泽涵
    2018-09-25

    其实还有一个问题,就是 wx.reLaunch 为什么不会重新触发 onLaunch ? 总觉得这样的命名,应该是相对应的

    2018-09-25
    赞同
    回复