Vue实例从创建到销毁的过程为“生命周期”。每一个组件或Vue实例都经历一个完整的生命周期,从开始创建、初始化数据、编译模板、挂载dom、渲染-更新-渲染、销毁等一系列的过程,总共分为三个阶段:初始化、运行中、销毁。
生命周期钩子函数:
生命周期钩子 | 详细 |
---|---|
beforeCreated | 实例初始化之后,data数据观测和event、watch事件配置均未初始化,在初始化之前被调用 |
created | 实例已经创建完成之后调用。data数据观测,属性和方法运算,event、watch事件回调已完成。挂载还没开始,$el属性不可见。 |
beforeMount | 挂载之前被调用,data、 e l ∗ ∗ 均已经初始化,但 ∗ ∗ el**均已经初始化,但** el∗∗均已经初始化,但∗∗el没有渲染进数据,值为虚拟的元素节点。 |
mounted | el 被新创建的 vm.$el 替换,渲染完成并挂载到实例上之后被调用。 |
beforeUpdate | 数据更新时调用,发生在虚拟dom重新渲染之前。可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。 |
updated | 数据更改导致虚拟dom重新渲染,之后调用此钩子函数。这个钩子被调用时dom已经更新。 |
activated | keep-alive组件激活时调用。 |
deactivated | keep-alive组件停用时调用。 |
beforeDestroy | 实例销毁之前调用。这一步实例仍然完全可用。 |
destroyed | Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。 |
注:除了beforeCreate和created钩子之外,其他钩子均在服务器端渲染期间不被调用。
生命周期图示:
参考链接: Vue系列之—Vue生命周期详解