什么生命周期函数 生命周期有什么钩子函数,生命周期可以干啥?生命周期的执行顺序是什么?

264 阅读2分钟

什么生命周期函数 生命周期有什么钩子函数,生命周期可以干啥?生命周期的执行顺序是什么?

-持续创作,加速成长!这是我参与「掘金日新计划 · 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。