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

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

先来看一张小程序项目结构

根目录下面有包含了app.js,app.wxss,app.json三个文件

这是小程序的全局文件,app.js是小程序逻辑 ,app.json是小程序公共设置,app.wxss是小程序公共样式表

在app.js文件中 , 定义了一些生命周期方法 , onLaunch,onShow,onHide,onError,以及任意开发者添加的函数或者数据(通过this可以访问)

以下是各个生命周期方法作用和描述

onLaunch 生命周期函数--监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)

onShow 生命周期函数--监听小程序显示 当小程序启动,或从后台进入前台显示,会触发 onShow

onHide 生命周期函数--监听小程序隐藏 当小程序从前台进入后台,会触发 onHide

onError 错误监听函数 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息

其他 Any 开发者可以添加任意的函数或数据到 Object 参数中,用 this 可以访问

我们在app.js文件中定义以下方法 ,并打印出来

App({onLaunch: function (options) {console.log("app.js ---onLaunch---" + JSON.stringify(options));},onShow:function(){console.log("app.js ---onShow---");},onHide:function(){console.log("app.js ---onHide---");},onError: function (msg){console.log("app.js ---onError---" + msg);},globalData: {userInfo: null}
})

这就是打开一个小程序打印出来的方法

可以看出, 打开程序依次执行了app.js下面onLaunch和onShow方法,以及page页面中的onLoad,onShow和onReady方法

其中 , onLaunch, onShow 方法会返回一个参数对象, 里面包含了三个参数 , path,query和scene ,path是打开小程序的路径

更多场景值可以查看

https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/scene.html

小程序切换到后台会执行以下2个方法

返回小程序前台

在page页面中定义的生命周期方法

onLoad 生命周期函数--监听页面加载

onReady 生命周期函数--监听页面初次渲染完成

onShow 生命周期函数--监听页面显示

onHide 生命周期函数--监听页面隐藏

onUnload 生命周期函数--监听页面卸载

Page({

onLoad: function (options) {

console.log("page ---onLoad-----");

},

onReady: function () {

console.log("page ----onReady------")

},

onShow: function () {

console.log("page ----onShow------")

},

onHide: function () {

console.log("page ----onHide ----")

},

onUnload: function () {

console.log("page ---onUnload----")

},

其中,打开小程序后会依次执行onLoad,onReady和onShow方法

前后台切换会分别执行onHide和onShow方法

注意:
App() 必须在 app.js 中注册,且不能注册多个。
通过 getApp() 获取实例之后,不要私自调用生命周期函数。

微信小程序开发之详解生命周期方法相关推荐

  1. 【数独】数独游戏-微信小程序开发流程详解

    有没有玩过数独游戏呢,听说,它是一个能训练大脑思维的棋盘类游戏,游戏规则很简单,通过小程序来实现很容易,非常适合对数独游戏逻辑感兴趣的同学,选择它开发入门吧. 准备 会使用微信开发者工具, 有Java ...

  2. 【迷宫】地下迷宫游戏-微信小程序开发流程详解

    可曾记得,小时候上学路边买的透明铅笔盒,里面内嵌了一个小球,它用重力可从起点滚动到终点,对小朋友来说是感觉有趣的,在这个游戏的基础上,弄一款微信小程序的迷宫探索游戏试试,在不同关卡的迷宫中解开机关与谜 ...

  3. 【拼图】拼图游戏-微信小程序开发流程详解

    还记得小时候玩过的经典拼图游戏吗,上小学时,在路边摊用买个玩具,是一个正方形盒子形状,里面装的是图片分割成的很多块,还差一块,怎么描述好呢,和魔方玩具差不多,有没有听说叫二维的魔方,这里用小程序把它实 ...

  4. 【答题】在线答卷-答题系统的微信小程序开发流程详解

    用死记硬背的方法学习的学生,面对桌上堆积成厚厚的书本,是否感觉鸭梨山大呢,想着教育却面临着学习成本不小问题,是否感觉各种不便呢,如果对编程代码有感兴趣,不妨试试做一个自己的在线答题系统,这里可以用微信 ...

  5. 【飞行棋】多人游戏-微信小程序开发流程详解

    可曾记得小时候玩过的飞行棋游戏,是90后的都有玩过吧,现在重温一下,这是一个可以二到四个人参与的游戏,通过投骰子走棋,一开始靠运气,后面还靠自己选择,谁抢占先机才能赢,还可以和小伙伴们一起玩,狭路相逢 ...

  6. 【跳棋】跳棋游戏-多人游戏-微信小程序开发流程详解

    看到跳棋游戏,一个2到6人可一起玩的游戏,于是联想起,自己上小学时候陪同学们玩过的弹珠游戏,是不是跟跳棋游戏很像呢,看了跳棋玩法,有兴趣就研究,这里把跳棋游戏给弄出来了,想知道地图怎么画,对此感兴趣的 ...

  7. 【十字绣】传统手艺-微信小程序开发流程详解

    还记得小时候看过母亲的十字绣吗,易学易懂,就是用专用的绣线和十字格布,通过平面坐标计找出位置,对照专用的图案进行刺绣,可作出心中所想的画,奈何所需材料成本不小,这里用小程序简单模拟十字绣,喜欢的话可用 ...

  8. 【国际象棋】棋盘游戏-微信小程序开发流程详解

    与中国象棋类似的,还有国际象棋,知道有人爱玩,于是凭着好奇心,网上研究了一下,跟中国象棋有相似之处,玩法是有些许不一样,不知道象棋最早出于谁之手呢,抽空做一做,最终完成,玩一玩看着还不错吧,这里给讲一 ...

  9. php小程序地图处理,微信小程序 地图map详解及简单实例

    微信小程序 地图map 微信小程序map 地图属性名类型默认值说明longitudeNumber中心经度 latitudeNumber中心纬度 scaleNumber1缩放级别 markersArra ...

最新文章

  1. sql server 2005 T-SQL BEGIN TRANSACTION (Transact-SQL)
  2. 查找数据结构相关题目
  3. matlab app designer制作软件_gif制作软件app
  4. HTTPS连接的前几毫秒发生了什么
  5. REBOOT Reload - 可安装在优盘的 Windows 和 DOS 启动盘
  6. static class 静态类(Java)
  7. 对《生产流水线模式》讨论的总结性回复
  8. 03 使用T-SQL语句实现数据的添加、更新、删除测试分析 1214
  9. python 运算符重载_Python中类的运算符重载
  10. i计算机网络的应用程序,计算机网络技术及其在校园网的研究与应用毕业论文.doc...
  11. 计算机基础知识贾辉,《计算机基础知识》读后感
  12. IDEA 主题颜色设置
  13. vs2010 中文版发布及下载地址
  14. en结尾的单词_en后缀形容词——动词
  15. python中字节(bytes)是如何转换成整型(long)的?
  16. pytorch中tensor.topk
  17. 微信自动回复的智能聊天机器人怎么做?
  18. 小柯印前设计师(DrawVBA)及教程
  19. E4A第一期-E4A的简单用法
  20. 针对瑞萨单片机编译时空间无法全部使用问题的解决方案

热门文章

  1. 外网系统怎么访问协同oa?快解析内网端口映射公网
  2. Hebb学习规则 以及 Hebb网络
  3. OpenCV4.0.1/4.0.0/3.4.2 + Contrib + Qt5.9 + CMake3.12.1编译及踩坑笔记、Qt5+OpenCV配置、代码验证、效果图、福利彩蛋
  4. 阿里云 获取免费ssl证书 及nginx访问
  5. 给自己的XTC820摆拍一下。
  6. 一个Django快速预览项目
  7. win10重置系统后鼠标右键桌面一直转圈圈问题解决方法
  8. robbin的自白:You've got to find what you love
  9. Google提出用对比学习解决推荐系统长尾问题
  10. 向最优秀的人学习:大自然如何激发人工智能研究