个人主页:前端青山
系列专栏:Vue篇
人终将被年少不可得之物困其一生
依旧青山,本期给大家带来vue篇专栏内容:vue3-生命周期
目录
vue3生命周期
vue3生命周期钩子
1.1 onMounted()
1.2 onUpdated()
1.3 onUnmounted()
1.4 onBeforeMount()
1.5 onBeforeUpdate()
1.6 onBeforeUnmount()
1.7 onActivated
1.8 onDeactivated
1.9 onErrorCaptured
Vue 的父子组件生命周期钩子函数执行顺序
选项式API中将 beforeDestroy 以及 destroyed 修改为 beforeUnmount 和 unmounted,其余一致
生命周期钩子 | Vue.js
如果是vue2的生命周期钩子函数 errorCaptured
完整案例: vue2.html
官方解释
vue2的生命周期钩子函数
{{ count }}
vue3.html
vue3的生命周期钩子函数
{{ count }}
03_lifeCycle/03_lifeCycle_vue3.html
vue3的生命周期钩子函数
{{ count }}
注册一个回调函数,在组件挂载完成后执行。
组件在以下情况下被视为已挂载:
其所有同步子组件都已经被挂载 (不包含异步组件或
树内的组件)。
其自身的 DOM 树已经创建完成并插入了父容器中。注意仅当根容器在文档中时,才可以保证组件 DOM 树也在文档中。
这个钩子通常用于执行需要访问组件所渲染的 DOM 树相关的副作用,或是在服务端渲染应用中用于确保 DOM 相关代码仅在客户端执行。
注册一个回调函数,在组件因为响应式状态变更而更新其 DOM 树之后调用。
父组件的更新钩子将在其子组件的更新钩子之后调用。
这个钩子会在组件的任意 DOM 更新后被调用,这些更新可能是由不同的状态变更导致的。如果你需要在某个特定的状态更改后访问更新后的 DOM,请使用 nextTick() 作为替代。
注册一个回调函数,在组件实例被卸载之后调用。
一个组件在以下情况下被视为已卸载:
其所有子组件都已经被卸载。
所有相关的响应式作用 (渲染作用以及 setup()
时创建的计算属性和侦听器) 都已经停止。
可以在这个钩子中手动清理一些副作用,例如计时器、DOM 事件监听器或者与服务器的连接。
注册一个钩子,在组件被挂载之前被调用。
当这个钩子被调用时,组件已经完成了其响应式状态的设置,但还没有创建 DOM 节点。它即将首次执行 DOM 渲染过程。
注册一个钩子,在组件即将因为响应式状态变更而更新其 DOM 树之前调用。
这个钩子可以用来在 Vue 更新 DOM 之前访问 DOM 状态。在这个钩子中更改状态也是安全的。
注册一个钩子,在组件实例被卸载之前调用。
当这个钩子被调用时,组件实例依然还保有全部的功能。
生命周期
{{ count }}
当包含该组件的路由被激活时调用。对应 Vue Router 的 beforeRouteEnter
导航守卫。
当包含该组件的路由将要离开激活状态时调用。对应 Vue Router 的 beforeRouteLeave
导航守卫。
注册一个钩子,在捕获了后代组件传递的错误时调用
父 beforeCreate
->父 created
->父 beforeMount
->子 beforeCreate
->子 created
->子 beforeMount
->子 mounted
->父 mounted
父 beforeUpdate
->子 beforeUpdate
->子 updated
->父 updated
父 beforeUpdate
->父 updated
父 beforeDestroy
->子 beforeDestroy
->子 destroyed
->父 destroyed