(三)小程序学习笔记——生命周期、API

1、小程序的启动:

冷启动: 如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。

热启动: 如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动。

从小程序生命周期的角度来看,我们一般讲的「启动」专指冷启动,热启动一般被称为后台切前台

2、小程序的更新机制:

在访问小程序时,微信会将小程序的代码包缓存到本地。
小程序的更新机有两种:启动时 同步更新,和 启动时 异步更新。
启动时同步更新:微信运行时,会定期检查最近使用的小程序是否有更新,如果有更新,下次小程序启动时会同步进行更新,更新到最新版本后再打开小程序。如果用户长时间未使用小程序,会强制同步检查版本更新。
启动时异步更新:在启动前没有发现更新,小程序每次冷启动时,都会异步检查是否更新版本。如果发现有新版本,将会异步下载新版本的代码包,将新版本的小程序在下一次冷启动进行使用,当前访问使用的依然是本地的旧版本代码。
onLaunch: 是小程序的钩子函数,这个钩子函数在冷启动时肯定会执行,自动向微信后台请求版本信息,如有新版本,会进行立即下载。

3、小程序的生命周期:
一个小程序的生命周期由 应用生命周期、页面生命周期和组件生命周期三部分来组成。
(1) 应用生命周期:指 小程序从 启动 -> 运行 ->销毁 的整个过程
·app.js——应用生命周期函数:onLaunch(小程序初始化)、onShow(小程序启动或切前台)、onHide(小程序切后台)

(2)页面的生命周期:指 页面从 加载-> 运行 ->销毁 的整个过程

页面的js——页面的生命周期函数:onLoad(监听页面加载)、onShow(监听页面展示)、onReady(监听页面渲染完成)、onUnload(监听页面卸载)、onHide(监听页面隐藏)

注意:1、tabBar页面之间相互切换,页面不会被销毁。2、点击左上角返回上一个页面,会销毁当前页面。

4、小程序API:

(1)分类:
  • 异步API:通常接收一个object类型的参数,例如:wx.request({})
  • 同步API:约定以Sync结尾,例如wx.setStorageSync()
  • 时间监听API:约定以on开头,例如onAppHide()

异步API支持callback&Promise两种调用方式:
1、当接口参数Object对象中不包含success、fall、complete时将默认返回Promise

2、部分接口如request、uploadFile本身就有返回值,因此不支持Promise风格调用方式,他们的promisify需要开发者自行封装。

(2)列举介绍:

a、wx.request()发起网络请求; wx.request请求域名必须在微信公众平台进行配置。
b、用于页面交互的api:
wx.showLoading() :显示loading提示框
wx.hideLoading():关闭loading提示框
wx.showToast():消息提示框,根据用户的某些操作来告知操作的结果,例如退出成功给用户提示;提示删除成功等。
wx.showModal():模态对话框(消息确认框),用于询问用户是否执行一些操作。例如:询问用户是否退出登录,是否删除等。
c、小程序 本地 存储API:
同步API:
存储:wx.setStorageSync(key,value) 获取:wx.getStorageSync(key) 删除:wx.removeStorageSync(key) 清空:wx.clearStorageSync()
异步API:
存储:wx.setStorage({key:“”,data:value}) 获取:wx.getStorage({key:“”}) 删除:wx.removeStorage({key:“”}) 清空:wx.clearStorage()
注意:对象类型的数据,直接进行存储,不需要使用JOSN.stringify()、JOSN.parse()转换。
d、编程式导航:
小程序页面跳转的的两种方式:
(1)声明式导航:navigator组件
(2)编程式导航:使用小程序提供的API
在这里插入图片描述

e、页面处理函数:
上拉加载:
(1)在app.json或者page.json中配置举例页面底部距离:onreachBottomDistance
(2)在页面.js中定义onReachBottom事件监听用户上拉加载

下拉刷新:
(1)在app.json或者page.json中开启允许下拉,同事可以配置窗口、loading样式。
(2)在页面.js中定义onPullDownRefresh事件监听用户下拉刷新。
f、scroll-view:实现上拉加载更多和下拉刷新功能。
scroll-view文档说明

<scroll-view scroll-yclass="scroll-y" lower-threshold="100"   //距离底部/右边多远时,触发scrolltolower事件bindscrolltolower="getMore"  //上拉加载更多 滚动到底部/右边时触发enable-back-to-top="true"   //iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只支持竖向refresher-enabled="true" //开启下拉刷新refresher-default-style="black"  //设置自定义下拉刷新的默认样式,支持设置 black | white | none refresher-background="#f7f7f8" //设置自定义下拉刷新区域背景颜色,默认为透明bindrefresherrefresh="refreshHandle"   //下拉刷新触发事件refresher-triggered="{{istriggred}}" //设置下拉刷新是否触发,true表示下拉已经被触发,false表示下拉刷新未被触发。(进而可以设置请求成功后关闭下拉状态)
>

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

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

相关文章

Java | Leetcode Java题解之第48题旋转图像

题目&#xff1a; 题解&#xff1a; class Solution {public void rotate(int[][] matrix) {int n matrix.length;// 水平翻转for (int i 0; i < n / 2; i) {for (int j 0; j < n; j) {int temp matrix[i][j];matrix[i][j] matrix[n - i - 1][j];matrix[n - i - 1]…

百种提权及手段一览系列第5集

特权升级的危险是显而易见的。通过提升权限&#xff0c;攻击者可以绕过网络安全措施&#xff0c;从而损害数据完整性、机密性和系统可用性。对于组织而言&#xff0c;这可能会导致数据泄露、系统停机以及潜在的法律和声誉后果。识别权限升级的迹象并部署预防性网络安全措施对于…

Multitouch 1.27.28 免激活版 mac电脑多点触控手势增强工具

Multitouch 应用程序可让您将自定义操作绑定到特定的魔术触控板或鼠标手势。例如&#xff0c;三指单击可以执行粘贴。通过执行键盘快捷键、控制浏览器的选项卡、单击鼠标中键等来改进您的工作流程。 Multitouch 1.27.28 免激活版下载 强大的手势引擎 精心打造的触控板和 Magic …

水库泄洪预警系统的作用

水电站建立的初衷有两个&#xff0c;一是用于发电&#xff0c;二是用于调节水量&#xff0c;解决下游洪涝灾害。水电站在丰水期蓄水、枯水期泄洪&#xff0c;泄洪时产生的水流又急又大&#xff0c;对电站大坝及下游存在巨大危险。为了加强水电站工程安全管理&#xff0c;保证水…

linux权限维持(二)

3.SSH 后门 3.1 SSH 软连接后门 软连接后门的原理是利用了 PAM 配置文件的作用&#xff0c;将 sshd 文件软连接名称设置为 su &#xff0c;这样应用在启动过 程中他会去PAM 配置文件夹中寻找是否存在对应名称的配置信息 (su) &#xff0c;然而 su 在 pam_rootok 只检测 uid…

科研工作学习中常用的录制动图软件——screenToGif

一、前言 俗话说&#xff0c;字不如表&#xff0c;表不如图&#xff0c;静图不如动图。 动图给人的直观感受&#xff0c;还是很不错的。在曾经的学生期间&#xff0c;进行组会汇报&#xff1b;还是如今工作中&#xff0c;给领导汇报。我经常使用screenToGif这款软件&#xff…

SSRF—服务器请求伪造 漏洞详解

漏洞简述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造&#xff0c;由服务端发起请求的一个网络攻击&#xff0c;一般用来在外网探测或攻击内网服务&#xff0c;其影响效果根据服务器用的函数不同&#xff0c;从而造成不同的影响。 SSRF 形成的原因…

Ubuntu22.04.4 - apt - 笔记

一、修改源配置 这里使用的时候又出现了联不通的情况&#xff0c;换成国内镜像 在update cp /etc/apt/source.list /etc/apt/source.list.bak vim source.list 换源地址 修改完&#xff08;网上有&#xff0c;注意&#xff1a;根据Ubuntu版本不一样&#xff0c;部分内同也会不…

探索在Apache SeaTunnel上使用Hudi连接器,高效管理大数据的技术

Apache Hudi是一个数据湖处理框架&#xff0c;通过提供简单的方式来进行数据的插入、更新和删除操作&#xff0c;Hudi能够帮助数据工程师和科学家更高效地处理大数据&#xff0c;并支持实时查询。 支持的处理引擎 Spark Flink SeaTunnel Zeta 主要特性 批处理 流处理 精确一次性…

centos7 搭建 kubernetes1.22.2 集群

centos7 搭建 kubernetes1.22.2 集群 关注【云原生AI百宝箱】公众号,获取更多云原生消息 环境: 操作系统:win10虚拟机:virtual box 、 Vmwarelinux发行版:CentOS7.9linux内核(使用uname -r查看):3.10.0-957.el7.x86_64master和node节点通信的ip(master): 10.0.0.1980.检…

【前端】vue数组去重的3种方法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、数组去重说明二、Vue数组去重的3种方法 前言 随着开发语言及人工智能工具的普及&#xff0c;使得越来越多的人会主动学习使用一些开发工具&#xff0c;本文…

港股“AIGC第一股”出门问问,凭借什么产品做到上市?

随着人工智能技术的飞速发展&#xff0c;AIGC&#xff08;人工智能生成内容&#xff09;领域逐渐成为资本市场的新宠。在这样的背景下&#xff0c;出门问问&#xff08;股票代码&#xff1a;2438.HK&#xff09;作为AIGC领域的先行者&#xff0c;于2024年4月24日正式登陆港交所…

CSS常用属性之(列表、表格、鼠标)属性,(如果想知道CSS的列表、表格、鼠标相关的属性知识点,那么只看这一篇就足够了!)

前言&#xff1a;在学习CSS的时候&#xff0c;必不可少的就要学习选择器和常见的属性&#xff0c;而本篇文章讲解的是CSS中的列表、表格、背景、鼠标属性。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客 大致了解一下本篇文章…

用斐波那契数列感受算法的神奇(21亿耗时0.02毫秒)

目录 一、回顾斐波那契数列 二、简单递归方法 &#xff08;一&#xff09;解决思路 &#xff08;二&#xff09;代码展示 &#xff08;三&#xff09;性能分析 三、采用递归HashMap缓存 &#xff08;一&#xff09;解决思路 &#xff08;二&#xff09;代码展示 &…

Apache JMeter进行TCP并发压力测试初尝试

前言 由于互联网编程实验二第三题要求比较使用线程池与否的服务器的并发性能&#xff0c;遂检索信息并了解到Apache JMeter这个工具 本文主要介绍了在已有Java JDK的情况下对Apache JMeter的安装及配置&#xff0c;以及利用JMeter进行TCP压力测试 一、安装及配置 先在官网下…

Clion连接MySQL数据库:实现C/C++语言与MySQL交互

确保你的电脑里已经有了MySQL。 1、找到MySQL的目录 2、进入lib目录 3、复制libmysql.dll和libmysql.lib文件 4、将这俩文件粘贴到你的clion项目的cmake-build-debug目录下 如果不是在这个目录下&#xff0c;运行时会出以下错误报错&#xff1a; 进程已结束&#xff0c;退…

word导出或另存为pdf图片不清晰问题解决方案

问题描述&#xff1a; 使用word 2019导出pdf时图片不清晰&#xff0c;即使我已经在“选项 → \to →高级 → \to →图片大小和质量 → \to →不压缩文件中的图像 ”选项卡中关闭掉了图片压缩依然无效。 解决方案&#xff1a; 利用word foxit pdf 软件打印的方案转pdf。 &…

AppleWatch是真的能够减少我iPhone的使用时长

我应该是比较专情的果粉了&#xff0c;我有一台MacBook Pro、iPad Pro、airpods pro 2和iPhone 15 Pro Max。但我还从来没有用过苹果手表。 然后&#xff0c;我就去买了AppleWatchSeries9蜂窝款&#xff0c;并试用了一周&#xff0c;我想知道它是否能帮助我减少使用iPhone的时间…

MySQL中如何随机获取一条记录

点击上方蓝字关注我 随机获取一条记录是在数据库查询中常见的需求&#xff0c;特别在需要展示随机内容或者随机推荐的场景下。在 MySQL 中&#xff0c;有多种方法可以实现随机获取一条记录&#xff0c;每种方法都有其适用的情况和性能特点。在本文中&#xff0c;我们将探讨几种…

新恒盛110kV变电站智能辅助系统综合监控平台+道巡检机器人

江苏晋控装备新恒盛化工有限公司是晋能控股装备制造集团有限公司绝对控股的化工企业&#xff0c;公司位于江苏省新沂市。新恒盛公司40•60搬迁项目在江苏省新沂市经济开发区化工产业集聚区苏化片区建设&#xff0c;总投资为56.64亿元&#xff0c;该项目是晋能控股装备制造集团重…