1、什么是生命周期
生命周期(Life Cycle)是指一个对象从创建 -> 运行 -> 销毁的整个阶段,强调的是一个时间段。在小程序中,可以把每个小程序运行的过程,也概括为生命周期 。
小程序的启动,表示生命周期的开始,小程序的关闭,表示生命周期的结束,而其中的过程就可以称为小程序的生命周期。
2、生命周期的分类
在小程序中,生命周期分为两类,分别为应用生命周期和页面生命周期
生命周期 | 说明 |
---|---|
应用 | 特指小程序从启动 -> 运行 -> 销毁的过程 |
页面 | 就是小程序中,每个页面的创建 -> 渲染 -> 销毁的过程 |
3、生命周期函数
生命周期函数:是由小程序框架提供的内置函数,会伴随着生命周期,自动按次序执行,这一点十分重要,对后续的开发过程中业务逻辑处理很有帮助。
生命周期函数的作用:允许程序员在特定的时间点,执行某些特定的操作。例如,页面刚加载的时候,可以在 onLoad 生命周期函数中初始化页面的数据。
注意:生命周期强调的是时间段,生命周期函数强调的是时间点。
4、生命周期函数的分类
生命周期 | 说明 |
---|---|
应用 | 特指小程序从启动 -> 运行 -> 销毁期间依次调用的那些函数 |
页面 | 特指小程序中,每个页面从加载 -> 渲染 -> 销毁期间依次调用的那些函数 |
5、应用的生命周期函数
小程序的应用生命周期函数需要在 app.js 中进行声明。
函数 | 说明 |
---|---|
onLaunch | 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)。参数也可以使用 wx.getLaunchOptionsSync 获取 |
onShow | 当小程序启动,或从后台进入前台显示,会触发 onShow。也可以使用 wx.onAppShow 绑定监听 |
onHide | 当小程序从前台进入后台,会触发 onHide。也可以使用 wx.onAppHide 绑定监听 |
onError | 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息。也可以使用 wx.onError 绑定监听 |
在实际开发过程中,可以在 onLaunch
函数中对小程序中的数据进行初始化,比如读取本地存储里面的数据加载到小程序中。 通过下面栗子来学习一下onLaunch、onShow 和 onHide这三个函数,具体代码如下:
切后台在工具--工具栏里可以找到
6、页面的生命周期函数
小程序的页面生命周期函数需要在页面的 .js 文件中进行声明,执行顺序也是从上到下,总共有五个:
函数 | 说明 |
---|---|
onLoad | 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数 |
onLoad | 页面显示/切入前台时触发页面显示/切入前台时触发 |
onReady | 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互 |
onHide | 页面隐藏/切入后台时触发。 如 wx.navigateTo 或底部 tab 切换到其他页面,小程序切入后台等 |
onUnload | 页面卸载时触发。如 wx.redirectTo 或 wx.navigateBack 到其他页面时 |
注意:对界面内容进行设置的 API 如
wx.setNavigationBarTitle
,请在onReady之后进行。在开发过程中,页面数据的初始化 一般都会在 onLoad 里进行处理。