【微信小程序】-- 生命周期(二十八)

news/2024/7/20 1:23:57 标签: 微信小程序, 小程序, 前端

请添加图片描述

  • 💌 所属专栏:【小程序>微信小程序开发教程】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘

文章目录

  • 前言
  • 一、生命周期
      • 1、什么是生命周期
      • 2、生命周期的分类
      • 3、生命周期函数
      • 4、生命周期函数的分类
      • 5、应用的生命周期函数
      • 6、页面的生命周期函数
  • 总结


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【小程序>微信小程序开发教程】专栏的第28篇文章;
  今天开始学习小程序>微信小程序的第15天💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。
  专栏地址:【小程序>微信小程序开发教程】, 此专栏是我是夜阑的狗小程序>微信小程序开发过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、生命周期

  前面通过案例详细了解上拉触底整个实现过程。那么接下来就来学习小程序中生命周期,只要大致了解一下。话不多说,让我们原文再续,书接上回吧。

请添加图片描述

1、什么是生命周期

  生命周期(Life Cycle)是指一个对象从创建 -> 运行 -> 销毁的整个阶段,强调的是一个时间段。在小程序中,可以把每个小程序运行的过程,也概括为生命周期
  小程序的启动,表示生命周期的开始,小程序的关闭,表示生命周期的结束,而其中的过程就可以称为小程序的生命周期。

2、生命周期的分类

  在小程序中,生命周期分为两类,分别是:

生命周期说明
应用特指小程序从启动 -> 运行 -> 销毁的过程。
页面顾名思义就是说小程序中,每个页面的创建 -> 渲染 -> 销毁的过程。

  其中,页面的生命周期范围较小,应用程序的生命周期范围较大,一个应用程序的生命周期可以包含很多个页面生命周期。

3、生命周期函数

  生命周期函数:是由小程序框架提供的内置函数,会伴随着生命周期,自动按次序执行,这一点十分重要,对后续的开发过程中业务逻辑处理很有帮助。
  生命周期函数的作用:允许程序员在特定的时间点,执行某些特定的操作。例如,页面刚加载的时候,可以在 onLoad 生命周期函数中初始化页面的数据。
  注意:生命周期强调的是时间段,生命周期函数强调的是时间点。

4、生命周期函数的分类

  小程序中的生命周期函数分为两类,分别是:

生命周期说明
应用特指小程序从启动 -> 运行 -> 销毁期间依次调用的那些函数。
页面特指小程序中,每个页面从加载 -> 渲染 -> 销毁期间依次调用的那些函数。

5、应用的生命周期函数

  小程序的应用生命周期函数需要在 app.js 中进行声明。

函数说明
onLaunch小程序初始化完成时,会触发 onLaunch(全局只触发一次)。参数也可以使用 wx.getLaunchOptionsSync 获取。
onShow小程序启动,或从后台进入前台显示,会触发 onShow。也可以使用 wx.onAppShow 绑定监听。
onHide小程序从前台进入后台,会触发 onHide。也可以使用 wx.onAppHide 绑定监听。
onError小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息。也可以使用 wx.onError 绑定监听。

  在实际开发过程中,可以在 onLaunch 函数中对小程序中的数据进行初始化,比如读取本地存储里面的数据加载到小程序中。
  通过下面栗子来学习一下onLaunch、onShow 和 onHide这三个函数,具体代码如下:

app.js

App({
  /**
   * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
   */
  onLaunch: function () {
    console.dir("onLaunch");
  },

  /**
   * 当小程序启动,或从后台进入前台显示,会触发 onShow
   */
  onShow: function (options) {
    console.dir("onShow");
  },

  /**
   * 当小程序从前台进入后台,会触发 onHide
   */
  onHide: function () {
    console.dir("onHide");
  },
})

  通过点击微信开发者工具中的切后台按钮可以切换小程序的前后台,可以来看一下运行效果:

在这里插入图片描述

6、页面的生命周期函数

  小程序的页面生命周期函数需要在页面的 .js 文件中进行声明,执行顺序也是从上到下,总共有五个:

函数说明
onLoad页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。
onShow页面显示/切入前台时触发。
onReady页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
onHide页面隐藏/切入后台时触发。 如 wx.navigateTo 或底部 tab 切换到其他页面,小程序切入后台等。
onUnload页面卸载时触发。如 wx.redirectTowx.navigateBack 到其他页面时。

  注意:对界面内容进行设置的 API 如 wx.setNavigationBarTitle ,请在onReady之后进行。在开发过程中,页面数据的初始化 一般都会在 onLoad 里进行处理。


总结

  感谢观看,这里就是生命周期的介绍,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹

在这里插入图片描述

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。🎉

更多专栏订阅:

  • 😀 【LeetCode题解(持续更新中)】
  • 🚝 【Java Web项目构建过程】
  • 💛 小程序>微信小程序开发教程】
  • 【JavaScript随手笔记】
  • 🤩 【大数据学习笔记(华为云)】
  • 🦄 【程序错误解决方法(建议收藏)】
  • 🚀 【软件安装教程】



订阅更多,你们将会看到更多的优质内容!!


http://www.niftyadmin.cn/n/130587.html

相关文章

【数据结构】二叉搜索树

1、什么是二叉搜索树二叉搜索树又称为二叉排序树,二叉也就说明它跟二叉树一样最多只能有两个度,它可以是棵空树,也可以不是棵空树,当它不是棵空树的时候需要具备以下的性质:若它的左树不为空,那么它的左树上…

字典树及其实现

一、什么是字典树 字典树(Trie树、前缀树)是一种用于快速检索的多叉树结构。字典树把字符串看成字符序列,根据字符串中字符序列的先后顺序构造从上到下的树结构,树结构中的每一条边都对应着一个字符。字典树上存储的字符串被视为…

mybatis 数据库查询的一些点

1. 接受到前端输入的一批ID &#xff0c;然后去查询这批ID 的记录 ArrayList<String> getScopeId_FId(Param(value "textValue") String textValue); select b.FId from ( select arrayJoin(splitByChar(,, ${textValue} )) as FId ) a join datahouse.bas…

MATLAB学习笔记1

MATLAB学习笔记1 - 向量和矩阵 Matlab的数组可以是行向量&#xff0c;列向量&#xff0c;矩阵形式等 1.利用[ ]创建数组 例&#xff1a;包含7和9的一个数组&#xff0c;使用空格或&#xff0c;为行 x [7 9]//x是一个1*2的矩阵 y[7,9]//y是一个1*2的矩阵例&#xff1a;包含7和…

SQL注入——布尔盲注

目录 一&#xff0c;盲注的概念 二&#xff0c;盲注分类 三&#xff0c;注入方法的选择 四&#xff0c;关键函数 五&#xff0c;实例 一&#xff0c;盲注的概念 页面没有报错回显&#xff0c;不知道数据库具体返回值的情况下&#xff0c;对数据库中的内容进行猜解&#x…

linux和centos读写日期到文件并对日期进行比较

#!/bin/bash adate -d "${a}" %s #必须用数字 %s是取时间戳秒数 ddate -d "${c}" %s echo m$(($a - $d)) #必须2个小括号 a1date %s echo $a1 sleep 2 b1date %s echo $(($a1 - $b1)) #必须2个小括号 if [ $a1 -eq $b1 ];then #必须有空格 echo "…

Java数据类型和转换

Scanner相关操作&#xff1a;参考文章 字符串数组转化为int数组 String s in.nextLine();//获取字符串中的每一个数字.字符串转数组String[] strArr s.split(",");​//创建一个int类型的数组.int [] numberArr new int[strArr.length];​//把strArr中的数据进行…

node-red中有关用户登录,鉴权,权限控制的流程解析

前言 默认地,node-red编辑器可以被任何访问的用户操作,包括修改节点,流数据,重新部署流。 这种默认的部署方式只适用于运行在可靠的网络中。下面我就给大家介绍一下,在公网上部署node-red后,如何对其进行安全加固和权限验证。 主要分为三部分 开启https权限保护编辑器和…