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

文章目录

      • [1. 页面跳转方式](#1. 页面跳转方式)
      • [2. 你的场景分析](#2. 你的场景分析)
      • [3. 页面生命周期](#3. 页面生命周期)
      • [4. 总结](#4. 总结)
      • [5. 建议](#5. 建议)

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


1. 页面跳转方式

微信小程序提供了多种页面跳转方式,不同的跳转方式会影响页面生命周期的触发:

跳转方式 描述 onLoad 是否执行
wx.navigateTo 保留当前页面,跳转到新页面(页面栈增加一层) 是 ,新页面会触发 onLoad
wx.redirectTo 关闭当前页面,跳转到新页面(页面栈替换) 是 ,新页面会触发 onLoad
wx.switchTab 跳转到 tabBar 页面,关闭其他所有非 tabBar 页面 否 ,tabBar 页面不会触发 onLoad
wx.reLaunch 关闭所有页面,打开新页面 是 ,新页面会触发 onLoad
wx.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 只会在页面初次加载时触发。

相关推荐
赵小哥要冲啦4 小时前
社区邻里互助小程序从 0 到 1 复盘:需求拆解与信任机制设计
java·小程序·需求分析
河北清兮网络科技9 小时前
石家庄做一套企业知识库系统多少钱?2026 报价明细
小程序·短剧app·广告联盟
Ai-_Man9 小时前
Coze扣子还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·1024程序员节
微订校园外卖平台10 小时前
新手做校园外卖平台:小程序启动顺序与订单链路验收
小程序·外卖系统·本地生活·微订
FX1317887KP_1 天前
KET口语Part 2看图对话怎么练?“观察—提问—回应”;三步法讲透
小程序·ket口语·pet口语·fce备考·剑桥英语
沃达德软件1 天前
智慧教育教学资源管理系统(PC端+微信小程序)
微信小程序·小程序
阿俊-全栈开发1 天前
LikeShop 小程序商城首页可配置弹窗的设计与实现(Java + uni-app)
小程序·状态模式·likeshop·likeshop开源商城
考拉讲支付2 天前
延迟分账 / 核销分账的技术实现方案:服务完成后再分钱,到底怎么设计?
大数据·运维·人工智能·微信小程序·小程序·系统架构
Newway3212 天前
便利店小程序商城如何打通总部、门店与会员
小程序·小程序商城·会员运营·连锁便利店·门店订货·o2o系统
Strawberry962 天前
小程序视频播放官方方案
小程序