聊一聊微信小程序生命周期你最想知道的一些事

news2024/9/25 13:24:28

目录

前言

解析

运行机制

总结


前言

(1)为什么是微信小程序

最近有人问我一些关于微信小程序的问题,今天有时间也就整理了一些微信小程序的相关资料,给大家简单系统总结一些微信小程序的相关知识及生命周期。

(2)技术 原生js + redux + 微信小程序官方API

今天主要是讲述一下自己对于微信小程序生命周期的了解,虽然已经能在各个平台查询到相关文档,但觉得写出来,能整理下思绪,也望可以得到大牛们的指教.

                         

 

解析

小程序主要分为两个生命周期:全局的生命周期 + 页面的生命周期
小程序App生命周期

App生命周期主要在app.js中调用,主要是:

onLaunch -- 小程序初始化完成,全局只触发一次

onShow -- 小程序启动时,或者从后台进入前台

onHide -- 小程序从前台进入后台时执行

onError -- 小程序运行脚本出错或者api调用失败时执行,会带上错误信息

onPageNotFound -- 小程序页面不存在时执行

执行顺序: onLaunch--> onShow --> onHide

小程序Pages生命周期

Pages生命周期主要是指各个文件对应的js中的生命周期,主要是:

onLoad -- 页面加载时执行,只执行一次

onReady -- 页面初次渲染时执行,只执行一次

onShow -- 页面展示时执行,执行多次

onHide -- 页面从前台进入后台时执行

onUnload -- 页面卸载时执行

注意点:当切换页面需要多次渲染数据改变状态,建议在onShow中使用,当只需初始化一次的时候,可在onLoad或者onReady中使用。当需要清除定时器时,可在onUnload中使用

执行顺序:onLoad --> onShow --> onReady --> onHide

切换页面时触发的生命周期: 当首次加载A页面,A触发的生命周期为:onLoad --> onShow --> onReady,从A页面切换到B页面时,A页面触发onHide,B页面触发的生命周期顺序与上面一致,当B页面返回到A页面时,触发onUnload,当不清缓存,再次进入A页面时,只触发onShow.

Pages实例化生命周期

小程序官方文档中有一张图表明了实例化的过程,我就直接拿过来了,可自行查看

运行机制

概念:

热启动:指的是小程序启动成功后,你点了左上角的x或者按了home键离开小程序,小程序并没有直接被销毁,而是进入了后台运行机制中,当你在一定时间内再次打开该小程序时,小程序这时候从后台又重新进入前台,重新渲染页面,这个过程就是热启动

冷启动:指的是小程序初次加载(从未打开),或者当你卸载小程序,或者被微信自动销毁的时候,当你再次进入重新加载小程序时,这个过程就是冷启动

注意点:小程序只有在冷启动的时候,才会触发onLaunch生命周期

总结

小程序的一辈子:

打开小程序:(App)onLaunch --> (App)onShow --> (Pages)onLoad --> (Pages)onShow --> (pages)onReady

进入下一个页面:(Pages)onHide --> (Next)onLoad --> (Next)onShow --> (Next)onReady

返回上一个页面:(curr)onUnload --> (pre)onShow

离开小程序:(App)onHide

再次进入:小程序未销毁 --> (App)onShow(执行上面的顺序),小程序被销毁,(App)onLaunch重新开始执行。

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

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

相关文章

使用光泵磁力仪(OPMs)非接触测量视网膜活动

使用光泵磁力仪(OPMs)非接触测量视网膜活动摘要绪论方法2.1参与者和测量设置2.2刺激2.3数据分析结果讨论原文见: https://www.sciencedirect.com/science/article/pii/S1053811921008016 摘要 光泵磁力仪(OPM)已被用…

关于提升销量和排名,亚马逊、wish、ebay卖家该怎么做?

新年好,我是龙哥测评,在这里祝愿所有跨境朋友在新的一年里财源滚滚,一切顺利。 接下来龙哥就来说说,为什么店铺销量提升不上去,产品曝光低转化率低,产品有排名但是没销量,等等这些问题&#xf…

5 个我们仍可 Solana 在熊市危机报有希望的原因

Daniel, 2022 年 1 月前面,我们发表了 《9 大指标分析 Solana 的熊市危机》。当查看数据时,有一个很好的论据,即 Solana 在 2021/2022 年期间严重超卖,该网络没有项目、TVL 或用户来维持自己度过长期的熊市。它的崩溃只是更严重&a…

QT/C++——主窗口和事件处理

一、主窗口 上面就是一个主窗口&#xff0c;主窗口中的每一个都是Action 这次新建工程要选择mainwindow #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QAction> #include <QTextEdit> #include <QLabel> #include &l…

LeetCode 剑指 Offer 09. 用两个栈实现队列

题目 解题 这道题是用两个栈实现一个队列&#xff0c;具有一个队尾添加元素和队头删除元素的功能 这里思路是一个进&#xff0c;一个出&#xff0c;里面的元素顺序很关键&#xff0c;要保持一个进栈最先进的元素在另一个出栈的栈顶 第一种方法是&#xff0c;每次进元素&#x…

冰冰学习笔记:信号

欢迎各位大佬光临本文章&#xff01;&#xff01;&#xff01; 还请各位大佬提出宝贵的意见&#xff0c;如发现文章错误请联系冰冰&#xff0c;冰冰一定会虚心接受&#xff0c;及时改正。 本系列文章为冰冰学习编程的学习笔记&#xff0c;如果对您也有帮助&#xff0c;还请各位…

使用Postman快速访问MemFire Cloud应用

“超能力”数据库&#xff5e;拿来即用&#xff0c;应用开发人员再也不用为撰写API而发愁。MemFire Cloud 为开发者提供了简单易用的云数据库&#xff08;表编辑器、自动生成API、SQL编辑器、备份恢复、托管运维&#xff09;&#xff0c;很大地降低开发者的使用门槛。 使用Post…

关于保研(免试攻读硕士学位研究生)的相关政策

文章目录1、保研政策是什么&#xff1f;2、哪些学校可以保研&#xff1f;3、保研的流程/名额是怎样的&#xff1f;1、保研政策是什么&#xff1f; 什么是保研&#xff1f; 官方定义&#xff1a; 保研&#xff08;全称&#xff1a;推荐优秀应届本科毕业生免试攻读硕士学位研究…

Linux基础开发环境,yum 与 vim。

✅<1>主页&#xff1a;我的代码爱吃辣 &#x1f4c3;<2>知识讲解&#xff1a;Linux &#x1f525;<3>创作者&#xff1a;我的代码爱吃辣 &#x1f4ac;<4>前言&#xff1a;Linux必不可少的基础开发环境使用。 目录 一.Linux软件包管理器 yum &#x…

微电网经济优化运行(光伏、储能、柴油机)(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

液晶LCD1602驱动代码

液晶LCD1602简介LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏&#xff08;LCD&#xff09;、控制驱动主电路HD44780及其扩展驱动电路HD44100&#xff0c;以及少量电阻、电容元件和结构件等装配在PCB板上而组成。不同厂家生产的LCD1602芯片可能…

《数据结构》二叉树(性质and遍历)

目录 ​编辑 树的定义 概念 树的定义 二叉树的概念 满二叉树 概念 完全二叉树 概念 二叉树的性质 二叉树的遍历 先序遍历 中序遍历 后序遍历 层序遍历 树的定义 概念 树是一种非线性的数据结构 树的定义 子树是不相交的除了根节点外&#xff0c;每个节点有且仅有一个…

360度客户视频的内容和四种数据类型

提到CRM客户管理系统&#xff0c;您是不是经常听到“360度客户视图”这个词&#xff1f;所谓360度客户视图&#xff0c;让企业做到全方位地建立客户认知&#xff0c;消除客户生命周期所有的信息脱节。下面来详细讲讲&#xff0c;Zoho CRM系统的360度客户视图是什么&#xff1f;…

统计分析工具

百度统计 百度统计访问地址 https://tongji.baidu.com/web/10000370440/homepage/index 创建项目及获取项目标识 1、创建分析网站 在管理页面中点击新增网站&#xff0c;填写完信息 2、获取代码 得到如下代码&#xff1a; <script> var _hmt _hmt || []; (function…

测试开发必知必会:Pytest框架实战

应用场景&#xff1a; pytest 框架可以解决我们多个测试脚本一起执行的问题。 它提供了测试用例的详细失败信息&#xff0c;使得开发者可以快速准确地改正问题。它兼容最新版本的 Python。它还兼容 unittest、doctest 和 nose&#xff0c;开箱即用。接下来我们详细了解下pyte…

数据究竟是什么?

我们搞大数据的&#xff0c;每天都在说“数据”这个词。但是数据究竟是什么&#xff1f;其准确的定义是什么&#xff1f;可能大多数人都没有思考过这个问题。首先&#xff0c;我们来考察下数据这个词的起源。数据这个词在古汉语中是不存在的&#xff0c;而是近代以来&#xff0…

在ObjectARX(VC)中使用MFC-可停靠窗体

目录 前言 一、使用CAD的CAcUiDockControlBar类 二、在入口程序中注册命令 三、窗口实现 四、目录结构 五、注意事项 六、效果展示 前言 CAD中经常会看到这样的窗口&#xff0c;下面就看看是如何实现的。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可…

ESP-IDF:传统链表测试

ESP-IDF:传统链表测试 在ESP-IDF环境下简单地写个传统链表 /--------------Test 传统链表-------------/ //链表结点 typedef struct LINKNODE11 { void * data; LINKNODE11 * next; }linknode11; //链表头 typedef struct LINKLIST11 { linknode11 * head; int size; }linkli…

SpringBoot快速搭建WebSocket并测试

目录简介Pom文件服务端Service代码服务端配置代码服务端Controller&#xff1a;发送消息给客户端测试开启ws服务端简介 WebSocket协议通过在客户端和服务端之间提供全双工通信来进行Web和服务器的交互功能。 在ws应用程序中&#xff0c;服务器发布websocket端点。 一个ws连接的…

通用`Query`解决方案

文章目录通用Query解决方案简介什么是QueryQuery类别Query基本使用SQL Query基本使用自定义Query基本使用现状方案通过Json数据或方法动态生成Query 通过Select Sql语句动态生成Query通过Query生成动态Query支持传统的Query并通过参数形式生成Query列定义通用Query&#xff0c;…