一、应用生命周期
应用生命周期是指关于当前整个应用程序的生命周期,这一类生命周期函数只能在App.vue中实现监听。uni-app支持如下应用生命周期
| 函数名 | 说明 |
|---|---|
| onLaunch | 当uni-app初始完成时触发(全局只触发一次) |
| onShow | 当uni-app启动,或从后台进入显示 |
| onHide | 当uni-app从前台进入后台 |
| onError | 当uni-app报错时触发 |
示例代码如下:
<script>// 只能在App.vue里监听应用的生命周期export default {onLaunch: function() {console.log('App Launch')},onShow: function() {console.log('App Show')},onHide: function() {console.log('App Hide')}}</script>
二、页面生命周期
页面生命周期是指关于pages目录中页面的生命周期函数。uni-app 支持如下页面生命周期函数:
| 函数名 | 说明 |
|---|---|
| onInit | 监听页面初始化,其参数同onLoad参数,为上个页面传递的数据,参数类型为Object(用于页面传参),触发时机早于onLoad |
| onLoad | 监听页面加载,其参数为上个页面传递的数据,参数类型为Object(用于页面传参),参考示例 |
| onShow | 监听页面显示。页面每次出现在屏幕上都触发,包括从下级页面点返回露出当前页面 |
| onReady | 监听页面初次渲染完成。注意如果渲染速度快,会在页面进入动画完成前触发 |
| onHide | 监听页面隐藏 |
| onUnload | 监听页面卸载 |
三、组件生命周期
uni-app组件支持的生命周期,与 vue 标准组件的生命周期相同。uni-app 中的组件指的就是 components 目录中的文件:
| 函数名 | 说明 |
|---|---|
| beforeCreate | 在实例初始化之后被调用 |
| created | 在实例创建完成后被立即调用。 |
| beforeMount | 在挂载开始之前被调用。 |
| mounted | 挂载到实例上去之后调用。 |
| beforeUpdate | 数据更新时调用,发生在虚拟 DOM 打补丁之前。 |
| updated | 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。 |
| bedoreDestory | 实例销毁之前调用。在这一步,实例仍然完全可用。 |
| destoryed | Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。 |
