一、应用生命周期

应用生命周期是指关于当前整个应用程序的生命周期,这一类生命周期函数只能在App.vue中实现监听。
uni-app支持如下应用生命周期

函数名 说明
onLaunch uni-app初始完成时触发(全局只触发一次)
onShow uni-app启动,或从后台进入显示
onHide uni-app从前台进入后台
onError uni-app报错时触发

示例代码如下:

  1. <script>
  2. // 只能在App.vue里监听应用的生命周期
  3. export default {
  4. onLaunch: function() {
  5. console.log('App Launch')
  6. },
  7. onShow: function() {
  8. console.log('App Show')
  9. },
  10. onHide: function() {
  11. console.log('App Hide')
  12. }
  13. }
  14. </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 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。