vue 组件生命周期钩子函数
时间: 2023-11-04 10:07:07 浏览: 117
Vue 组件的生命周期钩子函数包括:
1. beforeCreate:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
2. created:实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。
3. beforeMount:在挂载开始之前被调用:相关的 render 函数首次被调用。
4. mounted:el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
5. beforeUpdate:数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。可以在该钩子中进一步地更改状态,不会触发附加的重渲染过程。
6. updated:由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
7. activated:keep-alive 组件激活时调用。
8. deactivated:keep-alive 组件停用时调用。
9. beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。
10. destroyed:实例销毁之后调用。该钩子被调用后,对应 Vue 实例的所有指令都被解绑,所有的事件监听器被移除,所有的子实例也都被销毁。
相关问题
Vue3生命周期钩子函数
Vue3的生命周期钩子函数与Vue2有所不同,具体如下:
1. beforeCreate和created钩子函数被替换为setup函数,用于组件的初始化。
2. beforeMount和mounted钩子函数被替换为onBeforeMount和onMounted函数,用于组件挂载前和挂载后的操作。
3. beforeUpdate和updated钩子函数被替换为onBeforeUpdate和onUpdated函数,用于组件更新前和更新后的操作。
4. beforeDestroy和destroyed钩子函数被替换为onBeforeUnmount和onUnmounted函数,用于组件卸载前和卸载后的操作。
5. activated和deactivated钩子函数被替换为onActivated和onDeactivated函数,用于组件被激活和失活时的操作。
6. 新增了errorCaptured钩子函数,用于捕获子孙组件抛出的异常。
vue3生命周期钩子函数
Vue 3 中的生命周期钩子函数与 Vue 2 相比有所改变。下面是 Vue 3 中的一些常用的生命周期钩子函数:
1. `setup`:新引入的钩子函数,用于组件的设置阶段。在 `setup` 中可以进行组件状态的初始化、数据绑定、事件处理等操作。
2. `beforeCreate`:组件实例刚刚被创建,但是尚未完成数据观测、计算属性和方法的初始化。此时无法访问到组件的数据和方法。
3. `created`:组件实例已经完成数据观测、计算属性和方法的初始化。此时可以访问到组件的数据和方法,但尚未进行 DOM 渲染。
4. `beforeMount`:组件即将被挂载到 DOM 上之前调用。在这个钩子函数中可以访问到组件的 DOM 元素,但尚未进行 DOM 渲染。
5. `mounted`:组件已经被挂载到 DOM 上。在这个钩子函数中可以访问到组件的 DOM 元素,并且可以进行 DOM 操作。
6. `beforeUpdate`:组件更新之前调用。在这个钩子函数中可以访问到组件更新前的数据和状态。
7. `updated`:组件更新完成后调用。在这个钩子函数中可以访问到组件更新后的数据和状态。
8. `beforeUnmount`:组件即将被卸载之前调用。在这个钩子函数中可以进行一些清理操作,比如清除定时器、取消订阅等。
9. `unmounted`:组件已经被卸载。在这个钩子函数中可以进行最后的清理操作。
需要注意的是,Vue 3 中的生命周期钩子函数不再有 `beforeDestroy` 和 `destroyed`,取而代之的是 `beforeUnmount` 和 `unmounted`。这是因为 Vue 3 使用了更高效的卸载机制,不再需要明确的销毁阶段。
阅读全文