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 只会在页面初次加载时触发。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/951686.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

51c~Pytorch~合集4

我自己的原文哦~ https://blog.51cto.com/whaosoft/12311033 一、Pytorch~训练-使用 这里介绍了Pytorch中已经训练好的模型如何使用 Pytorch中提供了很多已经在ImageNet数据集上训练好的模型了,可以直接被加载到模型中进行预测任务。预训练模型存放在Pytorch的…

深度学习的原理和应用

一、深度学习的原理 深度学习是机器学习领域的一个重要分支,其原理基于多层神经网络结构和优化算法。以下是深度学习的核心原理: 多层神经网络结构:深度学习模型通常由多层神经元组成,这些神经元通过权重和偏置相互连接。输入数据…

基于人工智能的公司logo设计生成方法

随着科技的飞速发展,人工智能(AI)已经深入到我们生活的方方面面。其中,基于AI的公司logo设计生成方法,不仅为品牌形象的塑造提供了新的思路,也为企业带来了前所未有的设计体验。本文将详细探讨这一新兴的、…

BO-CNN-BiLSTM-Multihead-Attention,贝叶斯优化CNN-BiLSTM融合多头注意力机制多变量回归预测

BO-CNN-BiLSTM-Multihead-Attention,贝叶斯优化CNN-BiLSTM融合多头注意力机制多变量回归预测 目录 BO-CNN-BiLSTM-Multihead-Attention,贝叶斯优化CNN-BiLSTM融合多头注意力机制多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Ma…

WPF系列九:图形控件EllipseGeometry

简介 EllipseGeometry用于绘制一个椭圆的形状。它通常与其他图形元素结合使用,比如 Path 或者作为剪切区域来定义其他元素的外形。 定义椭圆:EllipseGeometry 用来定义一个椭圆或者圆的几何形状。参与绘制:可以被用作 Path 元素的数据&…

ue5动画重定向,一键重定向。ue4小白人替换成ue5

这就是我们下载的 初学者动画内容包 点击设置选中列 绿色的是动画 黄色的关卡 蓝色是蓝图 ctrla 全选 ctrl鼠标左键 选中所有动画 重定向动画资产 不要选错,只要绿色 选择目标网格体 选择所有的绿色 动画 导出动画 添加前缀ycn 导出 一定要提前新建好存放的…

服务器漏洞修复解决方案

漏洞1、远程桌面授权服务启用检测【原理扫描】 Windows Remote Desktop Licensing Service is running: Get Server version: 0x60000604 1、解决方案:建议禁用相关服务避免目标被利用 方法一:使用服务管理器 打开“运行”对话框(WinR&am…

uniapp 微信小程序内嵌h5实时通信

描述: 小程序webview内嵌的h5需要向小程序实时发送消息,有人说postMessage可以实现,所以试验一下,结果是实现不了实时,只能在特定时机后退、组件销毁、分享时小程序才能接收到信息(小程序为了安全等考虑做了…

案例解读 | 香港某多元化综合金融企业基础监控+网管平台建设实践

PART01 项目背景 01客户简介案例客户是一家创立20多年的香港某多元化综合金融企业,其业务范围涵盖证券、期货、资产管理、财富管理等,凭借广泛的业务网络和多元化的金融服务产品,在市场中拥有显著的影响力。02痛点分析随着业务版图的持续拓展…

LabVIEW实现动态水球图的方法

水球图是一种直观展示百分比数据的图表,常用于数据监测与展示。LabVIEW 虽不直接支持水球图绘制,但可通过图片控件动态绘制波形,或借助 HTMLCSS 的 Web 控件实现。此外,还可以结合 Python 等第三方工具生成水球图,LabV…

Simulink中的正弦波模块学习【Sine Wave】

Simulink中的正弦波模块学习 Simulink库中的Sine Wave模块 如下图所示为MATLAB Simulink中的正弦波模块 其元器件库位置为Simulink→Sources→Sine Wave 各项设置参数如下, 点击Help可查看详细信息 正弦波的数学表达式为 y A sin ⁡ ( ω x φ ) k y A \sin(\omega x \va…

maven高级(day15)

Maven 是一款构建和管理 Java 项目的工具 分模块设计与开发 所谓分模块设计,顾名思义指的就是我们在设计一个 Java 项目的时候,将一个 Java 项目拆分成多 个模块进行开发。 分模块设计我们在进行项目设计阶段,就可以将一个大的项目拆分成若干…

Vite源码学习分享(一)

!](https://i-blog.csdnimg.cn/direct/971c35b61c57402b95be91d2b4965d85.png) 同一个项目 vite VS webpack启动速度对比

C#里使用libxl设置EXCEL里公式计算的例子

在EXCEL的使用里,经常使用的是公式功能, 为什么会这样说呢? 因为公式是一种自动化计算工具,并且可以固化人类的智慧,相当于把复杂的计算功能嵌入到固定的数据处理了。比如一个经验丰富的财务人员,可以编制一个复杂公式计算的表格,只要一个不懂财务的人员,输入每个人的…

使用证件照制作软件的常见问题及解决方案

在数字化时代,证件照的制作变得越来越简单。借助各种证件照制作软件,我们可以轻松在家中制作出符合要求的证件照。然而,用户在使用这些软件时,可能会遇到一些常见问题。为了帮助您顺利制作出满意的证件照,我们整理了一…

【LeetCode Hot100 贪心算法】 买卖股票的最佳时机、跳跃游戏、划分字母区间

贪心算法 买卖股票的最佳时机买卖股票的最佳时机II跳跃游戏跳跃游戏II划分字母区间 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的…

LLaMA-Factory web微调大模型并导出大模型

LLaMA-Factory 开源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用数据进行训练而来,其对于不同下游的使用场景和垂直领域的效果有待进一步提升,衍生出了微调训练相关的需求,包含预训练(pt)&am…

30天开发操作系统 第 12 天 -- 定时器 v1.0

前言 定时器(Timer)对于操作系统非常重要。它在原理上却很简单,只是每隔一段时间(比如0.01秒)就发送一个中断信号给CPU。幸亏有了定时器,CPU才不用辛苦地去计量时间。……如果没有定时器会怎么样呢?让我们想象一下吧。 假如CPU看不到定时器而仍想计量时…

HOW - Form 表单 label 和 wrapper 对齐场景

一、背景 在日常使用 表单 时&#xff0c;我们一般有如下布局&#xff1a; 可以通过 Form 表单提供的配置直接设置&#xff1a; <Formform{form}labelCol{{ span: 4 }}wrapperCol{{ span: 20 }}onFinish{handleSubmit}><Form.Itemlabel"输入框"name"…

G-Star Landscape 2.0 重磅发布,助力开源生态再升级

近日&#xff0c;备受行业瞩目的 G-Star Landscape 迎来了其 2.0 版本的发布&#xff0c;这一成果标志着 GitCode 在开源生态建设方面又取得了重要进展。 G-Star Landscape仓库链接&#xff1a; https://gitcode.com/GitCode-official-team/G-Star-landscape 2024 GitCode 开…