vue 组件 生命周期
时间: 2023-08-16 13:10:40 浏览: 63
Vue组件的生命周期包括以下几个阶段:
1. 创建阶段(Creation):
- beforeCreate:在实例初始化之后,数据观测(data observer)和事件配置(event/watcher setup)之前调用。
- created:在实例创建完成后调用,此时实例已经完成数据观测,但尚未挂载到页面上。
2. 挂载阶段(Mounting):
- beforeMount:在挂载开始之前被调用,此时模板已经编译完成,但尚未将其渲染到页面中。
- mounted:在挂载完成之后被调用,此时组件已经被渲染到页面中。
3. 更新阶段(Updating):
- beforeUpdate:在数据更新之前被调用,可以在此时对数据进行修改。
- updated:在数据更新完成后被调用,此时DOM已经完成重新渲染。
4. 销毁阶段(Destruction):
- beforeDestroy:在实例销毁之前调用,此时实例仍然完全可用。
- destroyed:在实例销毁之后调用,此时实例已经被解除绑定,所有的事件监听器都已被移除。
除了上述的生命周期钩子函数外,还有一些较少使用的钩子函数,如activated和deactivated,在组件被激活和停用时分别被调用。
在这些生命周期钩子函数中,可以执行一些特定的操作,如数据初始化、异步请求、DOM操作、事件监听等。了解生命周期可以帮助我们更好地掌握Vue组件的创建、挂载、更新和销毁过程,从而更好地进行组件的开发和调试。
相关问题
vue 组件生命周期
Vue 组件的生命周期是指一个组件从创建到销毁的整个阶段。Vue 框架提供了一系列内置的生命周期函数,这些函数会按照特定的顺序自动执行。组件的生命周期函数可以分为三类:创建阶段、运行阶段和销毁阶段。
在创建阶段,组件会按照以下顺序执行一系列生命周期函数:
- beforeCreate:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
- created:在实例创建完成后被调用。此时实例已经完成以下的配置:数据观测 (data observer),property 和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。
- beforeMount:在挂载开始之前被调用:相关的 render 函数首次被调用。
- mounted:el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
在运行阶段,组件会执行以下生命周期函数:
- beforeUpdate:数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。可以在该钩子中对更新之前的状态进行额外的操作。
- updated:由于数据更改导致虚拟 DOM 重新渲染和打补丁后调用。调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。
在销毁阶段,组件会执行以下生命周期函数:
- beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。
- destroyed:Vue 实例销毁后调用。此时,Vue 实例的所有指令都已解绑,所有的事件监听器都已移除,所有的子实例也都被销毁。
这些生命周期函数的执行顺序构成了 Vue 组件的完整生命周期。在不同的生命周期函数中,我们可以执行一些特定的操作,例如初始化数据、获取远程数据、处理事件等。
<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Vue组件的生命周期](https://blog.csdn.net/m0_61612505/article/details/124318968)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [Vue----组件的生命周期](https://blog.csdn.net/m0_53022813/article/details/124411563)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
vue 组件生命周期钩子函数
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 实例的所有指令都被解绑,所有的事件监听器被移除,所有的子实例也都被销毁。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)