onLoad 生命周期函数是否执行取决于跳转的方式和小步伐的页面栈管理机制 ...

打印 上一主题 下一主题

主题 1001|帖子 1001|积分 3005

在微信小步伐中,页面跳转时, onLoad 生命周期函数是否执行取决于跳转的方式和小步伐的页面栈管理机制。以下是详细阐明:

1. 页面跳转方式

微信小步伐提供了多种页面跳转方式,不同的跳转方式会影响页面生命周期的触发:
跳转方式描述onLoad 是否执行wx.navigateTo保存当前页面,跳转到新页面(页面栈增加一层),新页面会触发 onLoadwx.redirectTo关闭当前页面,跳转到新页面(页面栈替换),新页面会触发 onLoadwx.switchTab跳转到 tabBar 页面,关闭其他所有非 tabBar 页面,tabBar 页面不会触发 onLoadwx.reLaunch关闭所有页面,打开新页面,新页面会触发 onLoadwx.navigateBack返回上一个页面(页面栈减少一层),返回的页面不会触发 onLoad
2. 你的场景分析

你在小步伐中从产物页跳转到我的页面,然后又跳转回来。根据你的描述,大概的情况是:


  • 如果你使用的是 wx.navigateTo

    • 每次跳转到新页面时,新页面的 onLoad 都会执行。
    • 返回时(使用 wx.navigateBack),返回的页面不会触发 onLoad,而是触发 onShow。

  • 如果你使用的是 wx.switchTab

    • 跳转到 tabBar 页面(如“我的页面”)时,不会触发 onLoad,而是触发 onShow。
    • 从 tabBar 页面返回时,也不会触发 onLoad。


3. 页面生命周期

微信小步伐的页面生命周期包罗以下关键函数:


  • onLoad:页面加载时触发,只会执行一次。
  • onShow:页面表现时触发,每次页面表现都会执行。
  • onReady:页面初次渲染完成时触发,只会执行一次。
  • onHide:页面隐藏时触发(跳转到其他页面时)。
  • onUnload:页面卸载时触发(页面被关闭时)。

4. 总结



  • 如果你使用的是 wx.navigateTo,每次跳转到新页面时,onLoad 都会执行。
  • 如果你使用的是 wx.switchTab,跳转到 tabBar 页面时,onLoad 不会执行,而是触发 onShow。
  • 如果你没有退出小步伐,只是来回跳转页面,onLoad 是否执行取决于跳转方式。

5. 建议

如果你希望每次跳转到页面时都执行某些逻辑,可以将代码放在 onShow 中,而不是 onLoad。由于 onShow 在每次页面表现时都会触发,而 onLoad 只会在页面初次加载时触发。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用多少眼泪才能让你相信

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表