1.什么是vue生命周期?
每个Vue实例再被创建之前都要经过一系列的初始化过程,这个过程就是Vue的生命周期。
2.各个钩子函数之间的生命周期干的事
-
在
beforeCreate
和create
钩子函数之间的生命周期
在这个生命周期之间,进行初始化
,可以看到created
的时候数据已经和data属性进行绑定
(放在data中的属性值发生改变的同时,视图也会改变)
此时还没有el
选项 -
created
和beforeMount
间的生命周期
首先会判断对象是否有el选项
,如果有的话就继续向下编译,如果没有el选项(意思就是没有挂载el),则会停止编译
,也就意味着停止生命周期,当有了el选项的时候才会继续编译 -
beforeMount
和Mounted
钩子函数之间的生命周期
给vue实例对象添加$el成员
,并且替换掉在的dom元素,在beforeMount
之前el还是undefined -
mounted
钩子函数
在mounted之前,页面内容还是一javascript中的虚拟DOM形式存在.在Mounted之后才把内容挂载到页面上 -
beforeUpdate
和update
钩子函数之间的生命周期
在vue发现data中的数据发生了改变,会重现渲染页面,先后调用这两个钩子函数,beforeUpdate
的时候数据更新但是dom节点中的innerHtml还没有发生改变,还是data之前的数据,update
的时候新数据渲染到页面上了就是data更新后的数据 -
beforDestroy
和destroyed
钩子函数键的声明周期
beforDestroy
就是在实例(节点)销毁之前调用,实例还可以用
destroyed
在实例销毁之后,所有的东西都会解绑,包括监听的事件都会移除,节点也就消失