父子组件生命周期执行顺序? v2 v3
父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted
|---------------|-------------------|
| Vue2生命周期 | Vue3生命周期 |
| beforeCreate | setup |
| created | created |
| beforeMount | onBeforeMount |
| mounted | onMounted |
| beforeUpdate | onBeforeUpdate |
| updated | onUpdated |
| beforeDestroy | onBeforeUnmounted |
| destroyed | onUnmounted |
| activated | onActivated |
| deactivated | onDeactivated |
| errorCaptured | onErrorCaptured |
小程序
全局生命周期:
- **onLaunch:**第一次全局执行。
- **onShow:**第一次执行,或者关闭后重新打开后执行。
- **onHide:**关闭小程序,但是没完全关闭,切换到后台。
- **onError:**小程序报错。
页面生命周期:
- **onLoad:**当前页面第一次加载的时候。
- **onShow:**第一次执行当前页面,或者关闭后重新打开后执行。
- **onReady:**当渲染页(视图层-wxml)加载完毕执行。
- **onHide:**关闭当前页面,但是没完全关闭,切换到后台。
- **onUnload:**销毁当前页。
- **onPullDownRefresh:**下拉刷新。
- **onReachBottom:**页面触底时执行,一般用于做上拉加载。
- **onShareAppMessage:**分享页面执行。
- **onPageScroll:**当前页面滚动执行。
- **onResize:**放大缩小页面的时候执行。
- **onTabItemTap:**点击底部导航栏触发。
组件生命周期:
- **created:**创建组件时执行。
- **attached:**被插入到父组件节点时执行。
- **ready:**渲染完后执行。
- **moved:**移动组件节点。
- **detached:**从父组件节点移除时执行。
- **error:**组件方法抛出错误时执行。
uni-app 生命周期
uniapp 生命周期是以小程序生命周期为基础实现的,分为应用生命周期、页面生命周期、组件生命周期。 其中组件生命周期就是 vue 生命周期。
应用生命周期:
- **onLaunch:**当 uniapp 初始化完成时调用 (只触发一次)。
- **onShow:**当 uniapp 启动或从后台进入前台时发生调用 (监听用户进入小程序)。
- **onHide:**当 uniapp 从前台进入后台时发生调用 (监听用户离开小程序)。
- **onError:**当 uniapp 报错时被触发。
- onUniNViewMessage: 对 nvue 页面的数据进行监听。
- **onUnhandledRejection:**对未处理的 Promise 拒绝事件进行监听。
- **onPageNotFound:**页面不存在监听函数。
- **onThemeChange:**监听系统主题的变化。
页面生命周期:
- **onLoad:**监听页面加载。
- **onShow:**监听页面显示 (每次页面显示都触发)。
- onReady: 监听页面初次渲染完成。
- **onHide:**监听页面隐藏。
- **onUnload:**监听页面卸载。
- **onResize:**监听窗口尺寸的变化。
- **onPullDownRefresh:**监听用户下拉动作。
- **onReachBottom:**监听页面上拉触底事件。
- **onTabItemTab:**点击 TabBar 时触发。
- **onShareApplessage:**点击右上角分析时触发。
- **onShareTimeline:**点击右上角转发到朋友圈时触发。
- **onAddToFavorites:**点击右上角收藏时触发。
- **onPageScroll:**监听页面滚动。
- **onNavigationBarButtonTap:**监听标题栏按钮点击事件。
- **onNavigationBarSearchInputchanged:**监听标题栏搜索输入框输入内容变化事件。
- **onNavigationBarSearchInputClicked:**监听标题栏搜索输入框点击事件。
- **onBackPress:**监听用户点击右上角收藏。
组件生命周期:
uniapp 的组件生命周期和 Vue 标准组件生命周期相同。在当前版本的 uniapp中,你既可以选择使用 vue2 进行开发,也可以使用 vue3 进行开发,可以参考 vue2 和 vue3 的生命周期。