vue2生命周期和vue3
vue 3生命周期与vue 2生命周期有何不同?vue 3 引入了新的生命周期钩子,包括 setup(),并修改了现有钩子。它还增加了 onbeforemount 和 onbeforeunmount,提供了更多的灵活性。生命周期顺序与 vue 2 基本相同,但 setup() 钩子的引入导致了顺序的变化:setup() -> beforecreate -> created -> onbeforemount -> onmounted -> onbeforeupdate
Vue 2 与 Vue 3 生命周期:比较
生命周期钩子
Vue 2 和 Vue 3 共享以下生命周期钩子:
- beforeCreate
- created
- beforeMount
- mounted
- beforeUpdate
- updated
- beforeDestroy
- destroyed
新增和修改
立即学习“前端免费学习笔记(深入)”;
Vue 3 引入了一些新的生命周期钩子和对现有钩子的修改:
-
setup(): 替换了 beforeCreate 和 created 钩子,用于设置组件状态和方法。
-
onBeforeMount: 在组件第一次渲染到 DOM 之前调用,替换了 Vue 2 中的 mounted 钩子。
-
onMounted: 仍然在组件首次渲染到 DOM 之后调用,但现在在 onBeforeMount 之后。
-
onBeforeUnmount: 在组件销毁之前调用,替换了 Vue 2 中的 beforeDestroy 钩子。
-
onUnmounted: 仍然在组件销毁之后调用,但现在在 onBeforeUnmount 之后。
-
onActivated: 当父组件激活时调用。
-
onDeactivated: 当父组件停用时调用。
顺序
Vue 3的生命周期顺序与 Vue 2 基本相同,但由于 setup() 的引入,现在如下所示:
- setup()
- beforeCreate
- created
- onBeforeMount
- onMounted
- onBeforeUpdate
- updated
- onBeforeUnmount
- onUnmounted
- destroyed
优点
-
更好的代码组织: setup() 钩子使代码组织更加清晰,因为它负责设置组件状态和方法。
-
增强灵活性: onBeforeMount 和 onBeforeUnmount 钩子提供更多的灵活性,允许组件在渲染到 DOM 之前或销毁之前执行操作。
-
错误处理改进: onMounted 钩子已添加到更早检测和处理渲染错误,而无需使用特殊的错误处理组件。