当前位置: 首页 > news >正文

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

文章目录

      • 1. 页面跳转方式
      • 2. 你的场景分析
      • 3. 页面生命周期
      • 4. 总结
      • 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 只会在页面初次加载时触发。

在这里插入图片描述

http://www.lryc.cn/news/517898.html

相关文章:

  • Visio 画阀门 符号 : 电动阀的画法
  • OOM排查思路
  • 《Spring Framework实战》10:4.1.4.2.详细的依赖和配置
  • 网络安全-XSS跨站脚本攻击(基础篇)
  • Git的学习和常见问题
  • Flink源码解析之:Flink on k8s 客户端提交任务源码分析
  • STLG_02_02_MS SQL - SSMS的安装和使用
  • git 常用命令和本地合并解决冲突
  • ThinkPHP 8高效构建Web应用-获取请求对象
  • 机器人技术:ModbusTCP转CCLINKIE网关应用
  • C语言的语法
  • ElasticsearchJavaClient工具类分析
  • Docker-文章目录
  • docker安装codeserver 运行vite项目(linux)
  • Electron快速入门——跨平台桌面端应用开发框架
  • Delphi+SQL Server实现的(GUI)户籍管理系统
  • 【JavaEE进阶】获取Cookie/Session
  • 在macOS上安装Flutter和环境配置
  • 【电子通识】PWM驱动让有刷直流电机恒流工作
  • Maven在不同操作系统上如何安装?
  • maven如何从外部导包
  • 如何在 Hive SQL 中处理复杂的数据类型?
  • 数据结构:DisjointSet
  • 中国省级产业结构高级化及合理化数据测算(2000-2023年)
  • Nginx不使用域名如何配置证书
  • Perturbed-Attention Guidance(PAG) 笔记
  • 自动驾驶控制与规划——Project 6: A* Route Planning
  • 通俗易懂之线性回归时序预测PyTorch实践
  • [离线数仓] 总结二、Hive数仓分层开发
  • 页面顶部导航栏(Navbar)的功能(Navbar/index.vue)