位置: 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定时调用方法)

  • 醒图怎么把图片变成视频(醒图怎么把图片弄成视频)

    醒图怎么把图片变成视频(醒图怎么把图片弄成视频)

  • homepod怎样播放QQ音乐(homepod怎样播放杜比全景声)

    homepod怎样播放QQ音乐(homepod怎样播放杜比全景声)

  • 爱奇艺零流量传片在哪里打开(爱奇艺零流量传片)

    爱奇艺零流量传片在哪里打开(爱奇艺零流量传片)

  • 华为nova7pro有呼吸灯吗(华为nova7pro有呼吸灯吗怎么设置)

    华为nova7pro有呼吸灯吗(华为nova7pro有呼吸灯吗怎么设置)

  • 加入购物车和立即购买有什么区别(加入购物车立即)

    加入购物车和立即购买有什么区别(加入购物车立即)

  • 苹果手机四个摄像头是什么型号(iphone4个摄像头叫什么)

    苹果手机四个摄像头是什么型号(iphone4个摄像头叫什么)

  • 手机屏幕开缝了怎么办(手机屏幕开缝了用什么胶水)

    手机屏幕开缝了怎么办(手机屏幕开缝了用什么胶水)

  • 红米note8pro能升级miui12吗(红米note8Pro能升级到13.0的系统吗)

    红米note8pro能升级miui12吗(红米note8Pro能升级到13.0的系统吗)

  • 耳机电流麦怎么解决(耳麦电流声怎么解决)

    耳机电流麦怎么解决(耳麦电流声怎么解决)

  • 手机信号放大器对人体有害吗(手机信号放大器怎么调试)

    手机信号放大器对人体有害吗(手机信号放大器怎么调试)

  • 苹果地区改不回来中国怎么办(苹果改地区还能改回来吗)

    苹果地区改不回来中国怎么办(苹果改地区还能改回来吗)

  • iphone11旋转屏幕怎么设置(iphone11 屏幕旋转)

    iphone11旋转屏幕怎么设置(iphone11 屏幕旋转)

  • 手机gps定位不准怎么办(gps在手机哪个位置能找到)

    手机gps定位不准怎么办(gps在手机哪个位置能找到)

  • 只知道淘宝昵称怎么加好友(只知道淘宝昵称怎么联系对方电话)

    只知道淘宝昵称怎么加好友(只知道淘宝昵称怎么联系对方电话)

  • 手机用lte怎样收费的(lte可以收短信吗)

    手机用lte怎样收费的(lte可以收短信吗)

  • 开放式耳机有什么好处(开放式耳机什么意思)

    开放式耳机有什么好处(开放式耳机什么意思)

  • i3 530配什么主板(i3 530 cpu怎么样)

    i3 530配什么主板(i3 530 cpu怎么样)

  • 饿了么可以开票吗(饿了么开票申请中要多久)

    饿了么可以开票吗(饿了么开票申请中要多久)

  • 淘宝怎么查付款顺序(淘宝怎么查付款人)

    淘宝怎么查付款顺序(淘宝怎么查付款人)

  • 淘宝淘小铺是什么(淘宝淘小铺是什么意思)

    淘宝淘小铺是什么(淘宝淘小铺是什么意思)

  • xsmax通话声音小怎么办

    xsmax通话声音小怎么办

  • iphone11能无线充电吗(苹果11能无线充电不)

    iphone11能无线充电吗(苹果11能无线充电不)

  • 苹果人像模式在哪(苹果人像模式在哪里打开)

    苹果人像模式在哪(苹果人像模式在哪里打开)

  • 拼多多货号在哪里(拼多多怎么搜货号)

    拼多多货号在哪里(拼多多怎么搜货号)

  • 手机b站打开弹幕不显示(手机b站打开弹幕怎么关)

    手机b站打开弹幕不显示(手机b站打开弹幕怎么关)

  • React函数式组件传值(父子,兄弟,祖先等)以及父子之间方法的调用。(react函数组件useeffect)

    React函数式组件传值(父子,兄弟,祖先等)以及父子之间方法的调用。(react函数组件useeffect)

  • bzless命令  查看bzip2压缩过的文本文件的内容(blat命令)

    bzless命令 查看bzip2压缩过的文本文件的内容(blat命令)

  • 个人劳务报酬怎么申报个税
  • 电费为什么计入成本费用
  • 用友t6如何生成当月的财务报表
  • 一般纳税人劳务费税率是13还是6
  • 结算金额和付款金额
  • 成品油跨月发票红字冲销步骤
  • 短期借款利息都需要测算什么
  • 发票不附销货清单可以吗
  • 签订合同未履行属于什么行为
  • 制造企业发出材料成本的计价方法
  • 现金流量表上的期末现金余额等于___
  • 未确认融资租赁费用是什么类型科目
  • 弃置费用预计负债减少超过固定资产账面价值
  • 税控设备全额抵扣政策
  • 应收账款贷方余额怎么处理
  • 运费单是什么
  • 个人所得税是否分段计算
  • 开完发票业务没收入需要确认收入入账吗?
  • 出租土地使用权计入什么科目
  • 个人账户可以转公户吗?
  • 合伙企业购买股票产生的收益需要缴纳税款吗
  • 增值税三个过渡期科目
  • 税务三方协议一式几份
  • 个税合理避税的意义
  • 公司一季度报表一般是什么时候出
  • 预付油卡怎么入账
  • 待摊费用做账
  • 收到的进项发票要在多久前认证
  • 退回多缴税款如何做账
  • 补交以前年度的城建税会计分录
  • 商品从总仓到分拣要多久
  • 以合同条款无法达成一致要求返还定金
  • macOS Big Sur 11.2.1 正式版更新推送
  • 铁路运输企业所得税优惠
  • PHP:imagerectangle()的用法_GD库图像处理函数
  • 雷尼尔山位于美国西北部
  • 工业企业出租房屋的租金收入应计入
  • 微信小程序入门指南
  • php7.3
  • 合伙企业退伙个税
  • 农产品收购发票是普票还是专票
  • 一联发票可以开多少钱
  • 增值税负数要结转
  • phpcms怎么用
  • 法人如何提取公积金
  • 购买净资产为负数怎么办
  • 外贸企业应交税费计入
  • mysql5.7版本安装教程
  • 通过法院拍卖取得的房屋需要法院下确认裁定吗
  • 残保金属于职工社保吗
  • 员工缴纳工伤保险怎么赔偿
  • 外币报表折算差额名词解释
  • 专门从事研发的公司
  • 一般纳税人月销售额10万以下
  • 销售使用过的汽车增值税税率
  • 房地产会计核算地上地下成本分摊
  • MySql insert插入操作的3个小技巧分享
  • 开窗函数窗口范围
  • MySql Error 1698(28000)问题的解决方法
  • slmgr.vbs /dli
  • Ubuntu系统中文输入法
  • ubuntu安装超详细教程
  • macbookzen
  • win7网页无法访问
  • 如何自定义win键
  • Win10预览版更新弹窗如何关闭
  • javascript函数的作用
  • python做排序
  • jquery jsonview
  • shell批量处理文件
  • 手机游戏服务器无响应是怎么回事
  • nodejs inspect
  • 提出好的建议
  • jquery easyui datagrid实现增加,修改,删除方法总结
  • 山东省国税地税体制改革
  • 税务怎么在外网申报
  • 小规模纳税人营业额
  • 神州浩天财务软件
  • 北京市地税局电话是多少
  • 大连国家税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设