简述Vue的生命周期方法有哪些?
Vue实例从创建到销毁的过程,就是生命周期。Vue的生命周期主要包括以下几个阶段:
- 创建阶段:
beforeCreate
:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。created
:在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch
/event
事件回调。然而,挂载阶段还没开始,$el
属性目前不可见。
- 挂载阶段:
beforeMount
:在挂载开始之前被调用。相关的render
函数首次被调用。mounted
:el
被新创建的vm.$el
替换,并挂载到实例上去之后调用。此时,你会有一些直接的 DOM 操作任务需要在这个阶段完成。
- 更新阶段:
beforeUpdate
:数据更新时调用,发生在虚拟DOM打补丁之前。这里适合在更新之前访问现有的DOM,比如手动移除已添加的事件监听器。updated
:由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子。
- 销毁阶段:
beforeDestroy
:实例销毁之前调用。在这一步,实例仍然完全可用。destroyed
:Vue实例销毁后调用。调用后,所有的事件监听器会被移除,所有的子实例也会被销毁。
这些生命周期钩子函数为用户在不同阶段添加自己的代码提供了便利,比如你可以在 created
钩子函数中进行Ajax请求数据,在 mounted
钩子函数中操作DOM等。