位置: IT常识 - 正文

小程序生命周期(小程序生命周期钩子)

编辑:rootadmin
小程序生命周期

推荐整理分享小程序生命周期(小程序生命周期钩子),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:小程序生命周期和页面生命周期,小程序生命周期和页面生命周期,小程序生命周期和页面生命周期,微信小程序生命周期,小程序生命周期和页面生命周期,小程序生命周期有哪些函数,作用是什么?,小程序生命周期函数执行顺序,微信小程序生命周期,内容如对您有帮助,希望把文章链接给更多的朋友!

小程序的生命周期说白了就是指程序从创建、到开始、暂停、唤起、停止、卸载的过程。

我们大概从三个角度看一下小程序的生命周期。

(1):应用生命周期

(2):页面生命周期

(3):组件生命周期

应用生命周期

用户首次打开小程序,触发 onLaunch(全局只触发一次)。

小程序初始化完成后,触发onShow方法,监听小程序显示。

小程序从前台进入后台,触发 onHide方法。

小程序从后台进入前台显示,触发 onShow方法。

小程序后台运行一定时间,或系统资源占用过高,会被销毁。

前台、后台定义: 当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。

在整理本文资料的时候,有点不解,为什么不把小程序监听『销毁』方法开放给开发者,我猜测是因为IOS系统限制『按下Home键时,app从活动状态转入后台,会被挂起』;微信也不例外,只要运行一段时间或把微信客户端进程杀掉,就无法通知小程序应用被销毁。

页面生命周期

小程序注册完成后,加载页面,触发onLoad方法。

页面载入后触发onShow方法,显示页面。

首次显示页面,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次。

当小程序后台运行或跳转到其他页面时,触发onHide方法。

当小程序有后台进入到前台运行或重新进入页面时,触发onShow方法。

当使用重定向方法wx.redirectTo(OBJECT)或关闭当前页返回上一页wx.navigateBack(),触发onUnload

组件生命周期

组件生命周期,官网介绍的原话是:指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。大概意思就是,我们知道生命周期指的是从加载到销毁这个过程,在这个过程中可以分为好多阶段,比如,创建阶段,挂载阶段,销毁阶段等等,在每个阶段程序内部都会向外抛出一个 回调函数,这个回调函数,就是生命周期; 组件生命周期在官网的介绍地址如下:组件生命周期

小程序生命周期(小程序生命周期钩子)

created:在组件实例刚刚被创建时执行,在这个阶段由于组件刚刚被创建,this.setData这些函数是不会生效的,在这个生命周期内,我们只可以获取一些基本的值以及数据上的做处理,跟页面渲染相关的内容不能在这个生命周期实现;

attached:组件初始化完毕并且挂载到页面上之后触发,如果熟悉vue的话,和vue的mounted比较像,这个阶段才是我们一般做初始化的阶段,并且在这个阶段data也被初始化为组件的值;

detached:在组件实例被从页面节点树移除时执行,简单的说,就是这个 **组件被销毁 **的时候会被执行,这个使用的还是非常频繁的

ready:在组件在视图层布局完成后执行,简单的说,就是组件被挂载到页面上,并且页面渲染完毕后触发;这个生命周期我们一般处理一些跟视图操作相关的内容;

moved:在组件实例被移动到节点树另一个位置时执行

整体周期(1)打开页面的情况

首先,前一个页面隐藏,在加载下一个页面之前,需要先初始化新页面的组件。页面首次渲染之后,会触发组件的ready,最后触发的是页面的onReady,如下图:

从PageA打开pageB时的生命周期顺序

(2)离开页面的情况

离开当前页面时,首先触发当前页面的卸载onUnload,接着是组件离开节点树的detached。最后显示之前的页面,触发onShow。如下图:

从PageB返回到PageA的生命周期顺序

(3)打开App的情况

App、Page与Component生命周期运行顺序,先从App加载然后再加载Page,在加载Page之前会先初始化该页面所用的所有组件,之后才触发页面的onLoad生命周期,如下图:

打开App时的生命周期顺序

(4)切换到后台

切换到后台时,小程序和页面并没有卸载,只会触发隐藏。先触发页面的onHide,接着是App的onHide。如下图:

切换到后台时的生命周期顺序

(5)切换到前台

切换到后台时,小程序会先触发onShow,之后才是页面的onShow。如下图:

切换到前台时的生命周期顺序

总结

1. 打开小程序:

(App)onLaunch --> (App)onShow --> (Pages)onLoad --> (Pages)onShow --> (pages)onReady

2. 进入下一个页面:

(Pages)onHide --> (Next)onLoad --> (Next)onShow --> (Next)onReady

3. 返回上一个页面:

(curr)onUnload --> (pre)onShow

4. 离开小程序:

(App)onHide

5. 再次进入:

小程序未销毁 --> (App)onShow(执行上面的顺序),小程序被销毁,(App)onLaunch重新开始执行. 整体周期来源:微信小程序生命周期

本文链接地址:https://www.jiuchutong.com/zhishi/297639.html 转载请保留说明!

上一篇:vue3中的配置代理(vue3.0配置)

下一篇:vue项目使用定时器每隔几秒运行一次某方法(vue定时调用方法)

  • iphone13pro有没有充电器(iPhone13pro有没有光学防抖)

    iphone13pro有没有充电器(iPhone13pro有没有光学防抖)

  • 三星s22ultra和s21ultra区别(三星s22ultra和s21ultra屏幕哪个好)

    三星s22ultra和s21ultra区别(三星s22ultra和s21ultra屏幕哪个好)

  • 淘宝支持微信支付吗(淘宝支持微信支付怎么办)

    淘宝支持微信支付吗(淘宝支持微信支付怎么办)

  • 魅族17机身尺寸是多少(魅族17机身尺寸多大)

    魅族17机身尺寸是多少(魅族17机身尺寸多大)

  • 微信视频号什么意思(微信视频号什么时候发作品容易上热门)

    微信视频号什么意思(微信视频号什么时候发作品容易上热门)

  • imovie怎么下载不了(imovie视频下载)

    imovie怎么下载不了(imovie视频下载)

  • 苹果手表能连华为手机吗(苹果手表能连华为吗)

    苹果手表能连华为手机吗(苹果手表能连华为吗)

  • 抖音新账号养多久才能发作品(抖音新账号养多久)

    抖音新账号养多久才能发作品(抖音新账号养多久)

  • pc端和mac端有什么区别(pc端跟mac端)

    pc端和mac端有什么区别(pc端跟mac端)

  • 任务管理器未响应(任务管理器未响应win7)

    任务管理器未响应(任务管理器未响应win7)

  • evadl00是什么型号(eva—al00是什么型号)

    evadl00是什么型号(eva—al00是什么型号)

  • xp最高支持几代cpu

    xp最高支持几代cpu

  • 电桥平衡条件是什么(怎样操作才能使电桥快速达到平衡)

    电桥平衡条件是什么(怎样操作才能使电桥快速达到平衡)

  • qq拍照有声音怎么设置(qq拍照声音怎么关闭ios)

    qq拍照有声音怎么设置(qq拍照声音怎么关闭ios)

  • win10有必要登录微软账户吗(windows需要登录账户吗)

    win10有必要登录微软账户吗(windows需要登录账户吗)

  • 手机怎么设置微信步数(手机怎么设置微信来信息不显示内容)

    手机怎么设置微信步数(手机怎么设置微信来信息不显示内容)

  • 苹果手表4测评(苹果手表测评s8 s7)

    苹果手表4测评(苹果手表测评s8 s7)

  • 小米手环检测心率原理(小米手环检测心率异常)

    小米手环检测心率原理(小米手环检测心率异常)

  • 如何关闭windows自动更新(如何关闭windows10自动更新)

    如何关闭windows自动更新(如何关闭windows10自动更新)

  • 华为p30一键锁屏在哪(华为mate50一键锁屏怎么设置)

    华为p30一键锁屏在哪(华为mate50一键锁屏怎么设置)

  • 农家乐app功能有什么(农家乐平台)

    农家乐app功能有什么(农家乐平台)

  • Win7电脑中QQ音乐听不了怎么办?(电脑qq音乐设置在哪里)

    Win7电脑中QQ音乐听不了怎么办?(电脑qq音乐设置在哪里)

  • 电脑如何修改硬盘模式?计算机硬盘模式更改bios设置教程(电脑如何修改硬盘模式)

    电脑如何修改硬盘模式?计算机硬盘模式更改bios设置教程(电脑如何修改硬盘模式)

  • 自动下载视频、弹幕、评论软件【python制作】(百度怎么自动下载视频)

    自动下载视频、弹幕、评论软件【python制作】(百度怎么自动下载视频)

  • 美容行业如何做活动
  • 费用化的研发支出
  • 劳务成本算营业成本吗
  • 月末收到一批b材料,结算凭证未到,估价50000
  • 出售股票会计怎么做分录
  • 为什么要开增值税
  • 公司购买6个月的保险
  • 注册资本金印花税减半征收
  • 分公司开票总公司收款行吗
  • 跨月红字发票可以作废吗
  • 中途做账的企业如何建账
  • 工会筹备金和工会经费金额一样吗
  • 固定资产原值变更当月计提折旧
  • 应交税费未交增值税是什么意思
  • 取得甲供材料按简易征收发票能抵扣吗
  • 销售净利润率是综合反映企业成本效益的重要指标
  • 进项税转出如何申报纳税
  • 税控盘额度
  • 免税收入包括哪些收入
  • bios设置网卡开启
  • 中小企业的界定标准是什么
  • 农作物种植销售
  • 长期贷款利息怎样计算
  • php变量底层实现
  • igfxsrve.exe
  • 承包合同包含的内容
  • php常用设计模式(大总结)
  • 外贸进出口企业退税
  • 招待费计入哪里
  • 前端后端选择
  • 微信小程序计算器代码
  • php 返回
  • php获取get请求数据
  • 劳务报酬已扣税是否需报个税
  • android常用的集成开发工具有
  • 如何在亚马逊平台卖货
  • php接收post
  • 稿费演出费等劳务收入算工资吗
  • 应付职工薪酬如何记账
  • 未分配利润为负数怎么调整
  • 开票系统软件升级
  • 会计在建工程属于什么科目
  • 企业并购的主要特征是a扩大企业规模
  • db2 decoupled
  • 库存不多
  • 哪些发票可以抵扣?
  • 企业哪些情况下需要报税
  • 收到税控系统技术维护费分录
  • 年底了,你们公司年会干点啥都?
  • 是不是所有的发票都是一样的
  • 单位安装摄像头合法吗
  • 烟丝缴纳消费税计算
  • 公共电话亭设计案例
  • 一般餐饮业的固废是什么
  • 财务费用汇兑损益
  • 外聘老师的费用如何做账
  • 金税盘缴销发票
  • 兼职工资怎么做账
  • 损益平准金结转
  • 以前年度损益调整属于哪类科目
  • 无形资产出资入股的会计处理
  • 房产开发企业以什么为主
  • sql server建表时怎样选择数据类型
  • mysqld占用cpu高
  • redhat6.5安装图形界面
  • win19截屏快捷键
  • iis w3svc
  • win7鼠标右键一闪就没了
  • windows中的服务
  • windows7能玩地下城吗
  • 笔记本上的声卡
  • JavaScript浏览器打开
  • 如何在eclipse
  • 批处理/l
  • 使用express
  • javascript sort方法排序
  • express.js教程
  • javascript的用法
  • 天津户籍信息查询
  • 化妆品关税怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设