BeforeCreate 阶段
组件创建之后遇到的第1个生命周期函数,这个阶段标签已经被加载,但是data和methods以及dom结构都都未被初始化,也就是获取不到data的值,不能调用methods中的函数
Init injections &reactivity
这个阶段中,真正初始化data和methods中的方法
Created 阶段
这个阶段组件的data和methods中的方法已初始化结束,可以访问,但是dom结构未初始化,页面未渲染,这个阶段经常发出Ajax请求
模板编译:内存完成编译模板(el/模板标签 template)
还没有挂载,用户无法看到渲染的页面

beforeMount阶段
此时内存中的模板结构还未渲染到页面上,看不到真实的数据
mounted阶段
已挂载-页面数据已经渲染完毕,用户看到的是真实的页面数据,生命周期创建阶段完毕,进入到了运行中的阶段

循环的监听数据池 data 中数据的变化
如果数据发生了变化,
触发生命周期函数 beforeUpdate
beforeUpdate阶段
当执行beforeUpdate函数,数据池的数据是新的,但是页面还是旧的
Virturl DOM re-render and patch
根据最新的data数据,重新渲染内存中的模板结构,并把渲染好的模板结构,替换至页面上
updated阶段
页面已经完成了更新,此时,data数据和页面的数据都是最新的
如果数据没有发生变化,beforeUpdate 不会被调用

销毁阶段:
注意在 beforeDestroy 阶段(数据销毁之前),数据还可以使用

Tearddown... 注销组件、事件监听器
destroyed: 组件已经完成了销毁

本文详细介绍了Vue.js中组件的生命周期阶段,包括BeforeCreate、Initinjections、Created、模板编译、beforeMount、mounted、数据变化触发的beforeUpdate、VirturalDOM渲染及updated阶段,最后是销毁阶段的注意事项。
2万+





