小程序中的生命周期函数钩子函数

声明周期:

声明周期是指一个小程序从创建到销毁的一系列过程

小程序的两种生命周期

在小程序中 ,通过App()来注册一个小程序 ,通过Page()来注册一个页面

1.小程序应用的生命周期

App()函数用来注册一个小程序。接受一个 Object参数,其指定小程序的生命周期回调等。App() 必须在 app.js 中调用,必须调用且只能调用一次。

App({onLaunch: function(options) {// 监听小程序初始化。小程序初始化完成时(全局只触发一次)},onShow: function(options) {// 监听小程序显示。小程序启动,或从后台进入前台显示时},onHide: function() {// 监听小程序隐藏。小程序从前台进入后台时。},onError: function(msg) {console.log(msg) // 错误监听函数。小程序发生脚本错误,或者 api 调用失败时触发,会带上错误信息},onPageNotFound: function(res) {// 页面不存在监听函数。小程序要打开的页面不存在时触发,会带上页面信息回调该函数},globalData: 'I am global data'
})

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

  1. 用户首次打开小程序,触发 onLaunch 方法(全局只触发一次)。
  2. 小程序初始化完成后,触发 onShow 方法,监听小程序显示。
  3. 小程序从前台进入后台,触发 onHide 方法。
  4. 小程序从后台进入前台显示,触发 onShow 方法。
  5. 小程序后台运行一定时间,或系统资源占用过高,会被销毁。 全局的 getApp() 函数可以用来获取到小程序 App 实例。

2.页面的生命周期

Page(Object)函数用来注册一个页面。接受一个 Object类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等。

Page({data: {// 页面的初始数据text: "This is page data."},onLoad: function(options) {// 生命周期回调—监听页面加载},onReady: function() {// 生命周期回调—监听页面初次渲染完成},onShow: function() {// 生命周期回调—监听页面显示},onHide: function() {// 生命周期回调—监听页面隐藏},onUnload: function() {// 生命周期回调—监听页面卸载},
//  ---------------以下不是生命周期钩子函数----------------onPullDownRefresh: function() {// 监听用户下拉动作},onReachBottom: function() {// 页面上拉触底事件的处理函数},onShareAppMessage: function () {// 用户点击右上角转发},onPageScroll: function() {// 页面滚动触发事件的处理函数},onResize: function() {// 页面尺寸改变时触发},onTabItemTap(item) {// 当前是 tab 页时,点击 tab 时触发console.log(item.index)console.log(item.pagePath)console.log(item.text)},// 任意的函数,在页面的函数中用 this 可以访问viewTap: function() {this.setData({text: 'Set some data for updating view.'}, function() {// this is setData callback})},// 任意数据,在页面的函数中用 this 可以访问customData: {hi: 'MINA'}
})
  • 从中我们可以知道小程序页面的生命周期函数的调用顺序为:onLoad>onShow>onReady
  • 至于onHide函数就是当隐藏页面的时候触发。

总结

  • onLoad: 页面加载。一个页面只会调用一次。参数可以获取wx.navigateTo和wx.redirectTo及中的 query。
  • onShow: 页面显示。每次打开页面都会调用一次。
  • onReady:页面初次渲染完成。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。
  • onHide: 页面隐藏。当navigateTo或底部tab切换时调用。
  • onUnload: 页面卸载。当redirectTo或navigateBack的时候调用。

小程序的生命周期函数相关推荐

  1. 微信小程序的生命周期函数

    如下: 分别为:是什么.有哪些.执行顺序. 一.是什么 跟vue.react框架一样,微信小程序框架也存在生命周期,实质也是一堆会在特定时期执行的函数 小程序中,生命周期主要分成了三部分: ·应用的生 ...

  2. 小程序的生命周期函数?

    onLoad Function 生命周期函数--监听页面加载 onReady Function 生命周期函数--监听页面初次渲染完成 onShow Function 生命周期函数--监听页面显示 on ...

  3. 微信小程序的生命周期总结

    什么是生命周期? 生命周期 就是指一个对象的生老病死. 从软件的角度来看,生命周期指程序从创建.到开始.暂停.唤起.停止.卸载的过程. 下面从三个方面来介绍小程序的生命周期: (1)应用生命周期 (2 ...

  4. 微信小程序详解——小程序的生命周期和页面的生命周期

    我是一名安卓程序员,我们安卓中最明显的特征就是类具有生命周期.所以当开发小程序的时候,我自然而然的会先研究小程序的生命周期.在Android中是通过Application来管理安卓程序的生命周期,小程 ...

  5. 小程序的生命周期和页面生命周期

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

  6. 微信小程序的生命周期详解

    文章目录 一.应用生命周期(App) 二.页面生命周期(page) 三.应用生命周期和页面生命周期 四.路由变化对页面生命周期的影响 一.应用生命周期(App) App()函数用来注册一个小程序.接受 ...

  7. 微信小程序 全局变量异步函数_微信小程序【生命周期】

    小程序分为应用.页面和组件三个部分,所以小程序的生命周期涉及以下 应用的生命周期 页面的生命周期 组件的声明周期 应用的生命周期对页面生命周期的影响 应用的生命周期 App() 函数用来注册一个小程序 ...

  8. 微信小程序:生命周期

    下面从三个方面来介绍小程序的生命周期: (1)应用生命周期 (2)页面生命周期 (3)应用及页面生命周期的触发顺序 1.应用生命周期 App() 必须在 app.js 中调用,必须调用且只能调用一次, ...

  9. 【微信小程序】生命周期

    1.1.什么是生命周期 生命周期(Life Cycle)是指一个对象从创建 => 运行 => 销毁的整个阶段,强调的是一个时间段. 小程序的启动,表示生命周期的开始 小程序的结束,表示生命 ...

最新文章

  1. 俄罗斯自研Elbrus CPU参数曝光,CEO年近九旬仍未退休
  2. 首个内河无人驾驶数据集公布!清华大学等高校联合AI公司开发
  3. [问题解决]NotImplementedError 错误原因:子类没有实现父类要求一定要实现的接口
  4. RocketMQ简介
  5. linux sqlserver_SQL Server 与 MySQL存储引擎
  6. 美国oracle球场,美国体育馆考察——美国体育产业是如何盈利的?
  7. php 保護連接字符串,PHP字符串操作
  8. 在web.config中添加配置信息
  9. 怎么做应力应变曲线_浅析基桩低应变检测技术
  10. matlab-液压阀仿真
  11. BBQ EasyBuns
  12. springboot修改请求头
  13. maven安装测试报JAVA_HOME路径安装错误
  14. 【叶子函数分享二十三】计算两个日期之间的工作日
  15. CentOS6 图形界面(gnome)安装
  16. ACM-图论完全总结(知识点+模板)
  17. 测度论与概率论笔记4:测度空间上的积分(上)
  18. 华为招聘Java程序员笔试试卷(一)
  19. 粤行大湾区,探寻中国科技前沿
  20. Linux统计代码量命令cloc

热门文章

  1. 算法-03 贪心和分治
  2. C语言求 a+aa+aaa+aaaa+a....a 的值
  3. R语言主成分分析法笔记
  4. 深度学习(六)——CNN识别典型地标建筑,并制作pb文件,部署在android studio端,制作app实现该功能
  5. 寒霜引擎(镜之边缘:催化剂)中的屏幕空间反射
  6. 会声会影免费吗,下载要钱吗?会声会影2023中文旗舰版下载及配置最低要求
  7. Flutter 搭建 iOS 命令行服务打包发布全保姆式流程
  8. 知乎:不到 20 人的 IT 公司该去吗?
  9. 我用 Spring AOP 干掉了一摞简历
  10. 四面阿里P6+面试,提问率高达98%,会?基本offer稳了