什么生命周期函数 生命周期有什么钩子函数,生命周期可以干啥?生命周期的执行顺序是什么?
-持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情
首先介绍一下什么是vue生命周期,vue生命周期就是vue从出生到死亡的整个过程,我们称之为vue的生命周期,他分为四个阶段分别是:创建前后,挂在前后,更新前后,和销毁前后
| 钩子函数 | 作用 |
|---|---|
| beforecreate | 创建前的钩子函数 |
| created | 创建后,这是首次可以操作dom的钩子函数,在这个函数我们可以请求json数据,请求http接口数据,对数据进行操作对方法进行调用,对dom元素进行提前获取复值操作等等... |
| beforemount | 挂载前的钩子函数 |
| mounted | 挂载完成的钩子函数 |
| beforeUpdate | 更新前 |
| Updated | 更新后 |
| beforedestory | 销毁前 |
| destoryed | 销毁后 |
在项目开发的过程中,我们经常使用到的钩子函数有created 通常在创建后请求数据,或者获取本地储存的数据,获取dom元素,调用方法等等...
它的执行流程是这样的↓
初始化阶段:
new Vue实例化,初始化事件和生命周期函数,钩子函数执行beforeCreate,
钩子函数执行完成实例创建created
挂载阶段:
编辑模板-是否有el选项:
如果有继续检查template选项,返回return函数。生命周期函数执行beforeMount,
真实Dom挂载完毕执行mounted。
如果没有,编译el选项对应的标签作为template,把虚拟Dom和渲染的数据一并挂到
真实Dom上,真实Dom挂载完毕执行mounted。
更新阶段:
data数据改变 更新Dom之前,生命周期钩子函数执行beforeUpdate,虚拟Dom重新渲染,
打补丁到真实Dom,生命周期函数执行updated。此时如果数据继续改变重复执行这个循环
销毁阶段:
当$destory被调用,比如组件Dom被移除v-if,生命周期钩子函数执行beforeDestory,
卸载事件监听器,手动销毁定时器,生命周期钩子函数执行Destoryed。