html52.com
我爱小程序-开发者交流社区

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,能否说明下为何这么设计?

网友回复

韬々:

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

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


第一个问题:因为在relaunch的时候并没有隐藏页面,而是先卸载页面栈内所有页面再重加载url对应的页面。因此并不会触发onHide。第二个问题:onLaunch全局只会触发一次。而且relaunch并不是真正的“重启”小程序。

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


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

胡泽涵:

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

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付