【微信小程序生命周期详细介绍】

微信小程序生命周期详细介绍

  • 1. 介绍
  • 2. App生命周期
  • 3. 页面生命周期

1. 介绍

微信小程序的生命周期主要涉及全局App实例和各个页面,每个小程序都有自己的生命周期,会依次触发特定的生命周期函数。

2. App生命周期

  1. onLaunch:当小程序初始化完成时,会触发onLaunch(全局只触发一次)。

    • 参数:options,包含小程序启动时的参数,如路径、场景值等。
    • 作用:通常在这个阶段进行全局状态初始化、登录、检测更新等操作。
  2. onShow:当小程序启动,或从后台进入前台显示,会触发onShow

    • 参数:options
    • 作用:处理小程序从后台进入前台的逻辑,比如刷新数据、重新渲染页面等。
  3. onHide:当小程序从前台进入后台,会触发onHide

    • 作用:执行清理任务、保存数据等操作。
  4. onError:当小程序发生脚本错误,或者 API 调用失败时,会触发onError

    • 参数:error,包含错误信息。
  5. onPageNotFound:当小程序要打开的页面不存在时触发,开发者可以在这个回调中处理页面不存在的情况。

    • 参数:options,包含页面路径等信息。

3. 页面生命周期

微信小程序的页面生命周期函数按照页面的初次加载、每次显示、每次隐藏、卸载这样的流程触发。

  1. onLoad:页面加载时触发,一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。

    • 参数:query,页面加载时的查询参数。
  2. onShow:页面显示/切入前台时触发,如wx.navigateTo或底部 tab 切换到当前页面时。

  3. onReady:页面初次渲染完成时触发,代表页面已经准备妥当,可以与视图层交互。

  4. onHide:页面隐藏/切入后台时触发,如wx.navigateTo或底部 tab 切换到其他页面,小程序切入后台等。

  5. onUnload:页面卸载时触发,如wx.redirectTowx.navigateBack到其他页面时。

除了上述生命周期函数,页面还包括处理用户下拉刷新、上拉触底、滚动、分享等交互的事件处理函数:

  • onPullDownRefresh:监听用户下拉刷新事件。
  • onReachBottom:页面上拉触底事件的处理函数。
  • onPageScroll:监听用户滑动页面事件。
  • onShareAppMessage:用户点击右上角转发时调用。

开发者应该根据具体需求合理利用这些生命周期函数和事件处理函数,确保小程序具有良好的性能和用户体验。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot3框架,Web开发(下)

模板引擎 由于 SpringBoot 使用了嵌入式 Servlet 容器。所以 JSP 默认是不能使用的。如果需要服务端页面渲染&#xff0c;优先考虑使用 模板引擎。 Thymeleaf Thymeleaf 是一个现代的服务器端 Java 模板引擎&#xff0c;适用于 Web 和独立 环境 格式&#xff1a; <!DOCTY…

训练YOLOv8m时AMP显示v8n

在训练Yolov8模型时&#xff0c;使用AMP&#xff08;Automatic Mixed Precision&#xff09;可以加速训练过程并减少显存的使用。AMP是一种混合精度训练技术&#xff0c;它通过将模型参数的计算转换为低精度&#xff08;如半精度&#xff09;来提高训练速度&#xff0c;同时保持…

文献阅读及笔记

每个阶段&#xff0c;该看什么文献 当我们刚开始接触课题时&#xff0c;对这个研究方向一无所知&#xff0c;可以选择硕博学位论文、领域大牛的文献综述当我们已经对课题有了解&#xff0c;处于深化认识的阶段&#xff0c;可以选择行业最新的论文&#xff0c;领域大牛的文献综…

一种动态联动的实现方法

安防领域中的联动规则 有安防领域相关的开发经历的人知道&#xff0c;IPCamera可以配置使能“侦测”功能&#xff0c;并且指定仅针对图像传感器的某个区载进行侦测。除了基本的“移动侦测"外&#xff0c;侦测的功能点还有细化的类别&#xff0c;如人员侦测、车辆侦测、烟…

《手把手教你》系列技巧篇(三十七)-java+ selenium自动化测试-日历时间控件-上篇(详解教程)

1.简介 我们在实际工作中&#xff0c;有可能遇到有些web产品&#xff0c;网页上有一些时间选择&#xff0c;然后支持按照不同时间段范围去筛选数据。网页上日历控件一般&#xff0c;是一个文本输入框&#xff0c;鼠标点击&#xff0c;就会弹出日历界面&#xff0c;可以选择具体…

upload文件上传漏洞复现

什么是文件上传漏洞&#xff1a; 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷&#xff0c;而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马&#xff0c;病毒&#xff0c;恶意脚本或者WebShell等。“…

c语言的指针函数和函数指针的区别

指针函数是一个返回指针的函数。它的声明类似于普通函数&#xff0c;但是返回类型是指针类型而不是普通的数据类型。指针函数可以用来返回数组、结构体、对象等复杂的数据类型。 指针函数的定义和使用方式与普通函数类似&#xff0c;可以通过调用函数名来执行函数&#xff0c;…

Qt入门之概述

1.1 介绍 Qt&#xff1a;它是一套基于C的跨平台开发框架&#xff0c;包括GUI、字符串、多线程处理、文件IO、网络IO、3D渲染等时间&#xff1a;它诞生于1991年&#xff0c;由Haavard Nord和Eirik Chambe-Eng共同缔造发展&#xff1a;历经Qt Company、Nokia、Digia多个公司开发…

Seata 2.x 系列【9】事务会话存储模式

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Seata 版本 2.0.0 本系列Spring Boot 版本 3.2.0 本系列Spring Cloud 版本 2023.0.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 概述2. 存储模…

在linux上发起get和post请,怎么写

获取用户 curl --location --request GET http://127.0.0.1:8888/API/UserService/GetUserInfo?&token123456789&userId66666666 下面接口参数两部分&#xff0c;url传参和body 新增用户 curl --location --request POST http://127.0.0.1:8888/API/UserService/AddUs…

ubuntu安装docker的详细教程

检查卸载老版本docker ubuntu下自带了docker的库&#xff0c;不需要添加新的源。 但是ubuntu自带的docker版本太低&#xff0c;需要先卸载旧的再安装新的。 注&#xff1a;docker的旧版本不一定被称为docker&#xff0c;docker.io 或 docker-engine也有可能&#xff0c;所以卸…

springboot RocketMQ 客户端 日志配置 rocketmq_client.log过大

项目集成rocketMQ后&#xff0c;日志持续增大&#xff0c;导致磁盘空间逐渐减少&#xff0c;参考官方文档 来正确配置。 打印客户端日志 RocketMQ 的 TCP Java SDK 基于 SLF4J 接口编程。 JavaSDK1.7.8.Final 版本及以上 RocketMQ 的 Java SDK 1.7.8.Final 已内置了日志实现&…

有关整数和浮点数在内存中存储

1. 整数在内存中的存储 整数的2进制表⽰⽅法有三种&#xff0c;即原码、反码和补码 三种表⽰⽅法均有符号位和数值位两部分&#xff0c;符号位都是⽤0表⽰“正”&#xff0c;⽤1表⽰“负”&#xff0c;⽽数值位最 ⾼位的⼀位是被当做符号位&#xff0c;剩余的都是数值位。 正…

常用芯片学习——BME280芯片

BME280 温湿度气压传感器 芯片介绍 BME280是基于成熟传感原理的组合数字湿度、压力和温度传感器。该传感器块采用极为紧凑的金属盖LGA封装&#xff0c;占地面积仅为2.5x2.5mm2&#xff0c;高度为0.93mm。该传感器提供I2C以及SPI接口。它的小尺寸和低功耗允许在电池驱动的设备…

TCP-IP 知识汇总

开放式系统互联模型------国际化标准组织ISO提出----协议组&#xff08;协议模型&#xff09; 应用层&#xff1a;接收用户数据&#xff0c;人机交互的接口 表示层&#xff1a;将编码转换为二进制&#xff08;加密、解密&#xff09;---统一格式 会话层&#xff1a;针对传输…

二叉树<II>:二叉树的四种遍历方式代码实现Python3

今天我们来介绍的是二叉树的「前序」、「中序」、「后序」、「层序」四种遍历方式如何用代码实现。 还不知道这四种遍历方式原理的可以看另一篇文章&#xff1a;二叉树&#xff1c;I&#xff1e;&#xff1a;概念及二叉树的前序遍历、中序遍历、后序遍历原理 1. 相关题目 这…

springboot279基于javaweb的影院订票系统的设计与实现

影院订票系统 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本影院订票系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大…

MySQL语法分类 DML

DML 增删改表中数据 添加数据 //注意: //1.列名和值一一对应 //2.如果不定义列名需要给所有列赋值 //3.除了数字其他类型的值需要引号 insert into 表名(列名1&#xff0c;列名2,...列名n ) values(值1,值2,...值n );//这句需要给所有列赋值 insert into 表名(值1,值2,...值n…

2024.4.17周报

目录 摘要 Abstract 文献阅读&#xff1a;耦合时间和非时间序列模型模拟城市洪涝区洪水深度 现有问题 提出方法 创新点 XGBoost和LSTM耦合模型 XGBoost算法 ​编辑 LSTM&#xff08;长短期记忆网络&#xff09; 耦合模型 研究实验 数据集 评估指标 研究目的 洪水…

Orbit 使用指南 03 | 与刚体交互 | Isaac Sim | Omniverse

如是我闻&#xff1a; “在之前的指南中&#xff0c;我们讨论了独立脚本&#xff08; standalone script&#xff09;的基本工作原理以及如何在模拟器中生成不同的对象&#xff08;prims&#xff09;。在指南03中&#xff0c;我们将展示如何创建并与刚体进行交互。为此&#xf…