Vue.js 的生命周期函数是一组在组件生命周期中执行的钩子函数,用于在不同阶段执行特定的操作。这些生命周期函数按照执行的顺序可以分为三个阶段:创建阶段(creation),更新阶段(updating),和销毁阶段(destruction)。以下是一些常用的生命周期函数及其用法:
创建阶段(Creation)
-
beforeCreate:
- 在实例初始化之后,数据观测(data observer)和事件配置之前被调用。
- 通常在这个阶段不能访问到
data和methods中的数据和方法。
-
created:
- 在实例创建完成后被立即调用。
- 可以在这个阶段进行数据初始化、ajax 请求等操作。
- 可以访问到
data和methods。
更新阶段(Updating)
-
beforeMount:
- 在挂载开始之前被调用,相关的
render函数首次被调用。 - 可以在这个阶段进行一些修改
DOM结构的操作。
- 在挂载开始之前被调用,相关的
-
mounted:
- 在 el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
- 可以在这个阶段进行一些初始化
DOM操作,例如数据的获取。
-
beforeUpdate:
- 在数据更新之前被调用,发生在虚拟
DOM重新渲染和patch过程之前。 - 可以在这个阶段进行一些在更新发生前的准备工作。
- 在数据更新之前被调用,发生在虚拟
-
updated:
- 在数据更改导致的重新渲染和
patch之后调用。 - 可以在这个阶段进行一些
DOM更新后的操作
- 在数据更改导致的重新渲染和
销毁阶段(Destruction)
-
beforeDestroy:
- 在实例销毁之前调用。在这一步,实例仍然完全可用。
- 可以在这个阶段进行一些清理工作,如清除定时器、解绑全局事件等。
-
destroyed:
- 在实例销毁之后调用。
- 在这个阶段,所有的事件监听器会被移除,所有的子实例也会被销毁。