小程序应用和页面的生命周期

前言:很多同学容易将小程序生命周期和页面的生命周期混淆为一起,这两个其实应该是不同却又相互关联的生命周期,所以,用实际代码操作并结合官方理论讲讲这个,好好捋捋。

小程序生命周期
首先小程序的生命周期函数是在app.js里面调用的,App(Object)函数用来注册一个小程序。接受一个 Object 参数,指定其小程序的生命周期回调;一般有onLaunch监听小程序初始化、onShow监听小程序显示、onHide监听小程序隐藏等生命周期回调函数。
在这里插入图片描述

看文字对概念有点模糊对不对?理解概念的最好方法就是上手实际操作一遍。那么,我们来看看当打开一个小程序的时候,到底是onLaunch、onShow、onHide哪个先调用以及什么时候开始调用的。

onLaunch() {
  console.log('onLaunch监听小程序初始化');
}

onShow() {
  console.log('onShow监听小程序显示');
}

onHide() {
  console.log('onLaunch监听小程序隐藏');
}

打开小程序
打开小程序
点击右上角按钮隐藏小程序有再次进入

从中我们可以知道小程序的生命周期函数的调用顺序为:onLaunch>onShow>onHide

页面的生命周期
页面生命周期函数就是当你每进入/切换到一个新的页面的时候,就会调用的生命周期函数。Page(Object) 函数用来注册一个页面。接受一个Object类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等。
在这里插入图片描述

我们用代码来演示下各个页面生命周期函数的先后顺序。

  onLoad(options) {
    console.log('onLoad监听页面加载');
  }

  onReady() {
    console.log('onReady监听页面初次渲染完成');
  }

  onShow() {
    console.log('onShow监听页面显示');
  }

  onHide() {
    console.log('onHide监听页面隐藏');
  }

  onUnload() {
    console.log('onUnload监听页面卸载');
  }

页面未被销毁之前,onLoad只会调用一次,
页面显示之后,会调用page实例里面的onShow
当页面初次渲染之后,onReady就会被调用,页面未被销毁之前,只会调用一次
onReady触发之后,逻辑层和视图层进行交互,
当我们在当前页面打开新的页面之后,当前页面会触发onHide,
如果关闭当前页,会触发onUnload

页面生命周期函数
从中我们可以知道小程序的生命周期函数的调用顺序为:onLoad>onShow>onReady。
至于onHide函数就是当隐藏页面的时候触发。
小结

  • 由此我们知道了小程序程序生命周期函数和页面生命周期函数的调用顺序,这两者之间的事件顺序一般如上图所示小程序周期函数在前,页面周期函数触发在后。
  • 但是这并不是绝对的,比如,有时候就会存在页面onLoad函数比小程序app的onLaunch生命周期函数先调用的情况,那么这时候就可以用回调的方式的来处理。

作者:Ewall_熊猫
链接:https://www.jianshu.com/p/3f43eaa83bbd

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值