Vue2.x生命周期笔记

Vue实例从创建到销毁的过程,就是生命周期。详细来说也就是从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程。

beforeCreate:
new Vue()也就是实例创建后,初始化data里的所有数据,初始化event、watch等事件!之前!调用。

源码内部分析:
这个阶段主要是完成vue中关于生成周期以及事件的一些初始化工作。

created:
初始化data里的所有数据,初始化event、watch等事件。此阶段作为数据准备阶段,一些请求可以在这个阶段做。

源码内部分析:
这个阶段主要是初始化与依赖注入相关的操作,以及数据的动态绑定。

1.初始化methods:对给方法绑定vue实例的执行上下文,它会遍历我们传入的methods选项。。

2.初始化data:完成动态数据绑定必须完成的一步,vue中的数据动态绑定其实就是通过setter和getter方法实现的

beforeMount:
编译模板过程:把el选项对应的html拿出来,解析其v-xx语法,形成各种模板。

源码内部分析:

1.从页面中获取html模板,要么是el选项,要么是outHtml。

2.将Html模板编译解析出AST树

3.根据AST节点,动态生成渲染函数

mounted:
this.$el发生变化,将各种解析的模板,替换到el对应的内容中。

源码内部分析:

1.创建监听器对象

2.执行Vue实例的_render函数,并执行渲染函数

3.执行path函数根据虚拟节点,生成真实DOM,最后将其挂载到页面中。

beforeUpdate:
当data里的数据发生变化,暂存,不作用到虚拟Dom中。

updated:
数据修改完成,虚拟Dom和实际DOM树进行重新调用。

beforeDestroy:
实例销毁前调用,实例在此阶段仍完全可用。

destroyed:
调用后,Vue实例指示的内容全解绑,所有监听事件移除,子实例完全随同销毁。

你可能感兴趣的:(前端框架)