wx.reLaunch 不会触发 onHide 生命周期,这是一个bug 吗?
发布于 6 年前 作者 mingtian 12108 次浏览 来自 问答

Page({

    onLoad() {

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

      },

      onHide() {

        console.log(123)

    }

})

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

2 回复

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

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

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

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

回到顶部