Vue的生命周期就是vue实例从创建到销毁的全过程,也就是new Vue() 开始就是vue生命周期的开始。Vue 实例有⼀个完整的⽣命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom -> 渲染、更新 -> 渲染、卸载 等⼀系列过程,称这是Vue的⽣命周期。钩子函数是Vue生命周期中每个阶段对外开放让程序员操作Vue的接口。Vue有8个钩子函数。
beforeCreate 在实例创建之前调用,由于实例还未创建,所以无法访问实例上的data,computed,method等
loading效果,开场动画
created 在实例创建完成后调用,这是已完成数据观测,可以获取数据和更改数据,但还无法与dom进行交互,如果想要访问dom可以使用vm.$nextTick
此时可以对数据进行更改,不会触发updated
更改数据,给数据赋值
请求接口,如果数据量比较大,接口时间比较长,引起页面空白时间会较长
beforeMount: 在挂载之前调用,这时的模板已编译完成并生成render函数,准备开始渲染。在此时也可以对数据进行更改,不会触发 updated。
更改数据,给数据赋初始值
mounted: 在挂载完成后调用,真实的dom挂载完毕,可以访问到dom节点,使用 $refs 属性对dom进行操作。
进行请求接口 进行dom操作
beforeUpdate: 在更新之前调用,也就是响应式数据发生更新,虚拟dom重新渲染之前被触发,在当前阶段进行更改数据,不会造成重渲染。
可以更改数据,不会重新渲染
可以更改数据之前做一些提示处理
updated: 在更新完成之后调用,组件dom已完成更新。要注意的是避免在此期间更改数据,这可能会导致死循环。
数据更新之后的一些提示或逻辑处理操作
beforeDestroy: 在实例销毁之前调用,这时实例还可以被使用,一般这个周期内可以做清除计时器和取消事件监听的工作。
去做一些清除工作,来释放内存空间
destroyed: 在实例销毁之后调用,这时已无法访问实例。当前实例从父实例中被移除,观测被卸载,所有事件监听器呗移除,子实例也统统被销毁。
基本不会去做其他逻辑
标签:Vue,dom,生命周期,哪些,调用,更改,实例,vue2,数据 From: https://blog.csdn.net/wzhe87220698/article/details/137470576