原生与uni小程序应用、页面与组件的完整生命周期
原生小程序:
加载阶段:
App:onLaunch
App:onShow
Components:created
Components:attached
page:onLoad
page:onShow
Components:ready
关闭小程序、或锁屏阶段
page:onHide
App:onHide
重新打开小程序或解锁屏幕阶段
App:onShow
page:onShow
离开页面
Components:detached
uni-app、vue2
加载阶段:
App:onLaunch
App:onShow
page:vue_beforeCreate
page:vue_created
Component:vue_beforeCreate
Components:created
page:onLoad
page:onShow
Component:vue_beforeMount
Component:vue_mounted
page:vue_beforeMount
page:vue_mounted
page:onReady
关闭小程序、或锁屏阶段
page:onHide # 真机不触发
App:onHide
重新打开小程序或解锁屏幕阶段
App:onShow
page:onShow # 真机不触发
离开页面
page:onUnload
uni-app、vue3、组合式api
加载阶段:
App:onLaunch
App:onShow
# 离开页面重进,从这里出开始走
page:vue_setup
Component:vue_setup
page:onLoad
Component:onLoad
page:onShow
Component:onShow
Component:vue_onBeforeMount
Component:vue_onMounted
Component:onReady
page:vue_onBeforeMount
page:vue_onMounted
page:onReady
关闭小程序、或锁屏阶段
page:onHide
Component:onHide
App:onHide
重新打开小程序或解锁屏幕阶段
App:onShow
page:onShow
Component:onShow
离开页面
page:onUnload
Component:onUnload
Component:vue_onBeforeUnmount
page:vue_onBeforeUnmount
Component:vue_onUnmounted
page:vue_onUnmounted
补充
- 在组件内使用页面生命周期
pageLifetimes
的时候,pageLifetimes
的钩子会优先于组件所在页面钩子的触发 - uni-app生命周期:
挂载阶段:
从外到里
依次触发
卸载阶段:从里到外
依次触发
- vue生命周期:
挂载阶段:
数据挂载之前:生命周期钩子
从外到里
依次触发
数据挂载之后生命周期钩子从里到外
依次触发卸载阶段:
生命周期钩子
从里到外
依次触发