关于——生命周期钩子 的解读
如下,是https://cn.vuejs.org/v2/guide/installation.html网站上的所提供的生命周期图示,对于每个时间点所产生的函数,以下是我个人的理解:
首先,需要明白一个概念,
> 什么是Vue的生命周期函数?
生命周期函数就是指Vue实例在某个时间点会自动执行的函数。
1.当我们在new一个Vue实例后,Vue会帮我们初始化事件和生命周期有关的内容,当最基础的初化完成后,在第一个分支节点上,Vue会自动的帮我们执行一个函数——beforeCreate函数,注意,此函数实在初始化实例之后执行的函数。
2.在完成beforeCreate函数的执行之后,Vue会在执行到第二个绿色区域,此时Vue会处理一些web的记录和双向的绑定等执行操作,之后执行created函数,表示Vue实例在此时完全创建完毕。
3.实例初始化完成后,Vue会判断是否在实例化内存在“el”对象,如果存在的话,继续往下判断是否存在“template”对象,这里也就是模板对象,如果存在的话,将会使用模板完成之后的渲染,如果没有模板的话,就会默认将el对象所对应的外部标签作为渲染对象,所以我们得出以下两种代码方式,效果完全是一样的。
<div>Hello Vue</div>
template:"<div>Hello Vue</div>"
4.在确认完渲染对象后,Vue将继续执行下一个函数:beforeMount函数。此函数在网页被挂载之前执行。
5.在beforeMount被执行完之后,标志着需要在页面上执行的内容此时已经挂载在了页面上,接下来Vue会默默的为我们执行下一个函数:mounted函数,从函数见名知意,标志着页面内容已经被挂载完毕。
6.在页面被挂在完毕后,接下来又有一个函数如图,beforeDestroyed函数,此函数在什么时候执行呢?见名知意,在实例被销毁之前执行的函数,销毁实例的代码是在控制台输入:vm.$destroy(),此方法可以销毁Vue的实例。
7.在实例被销毁之后,会执行destroyed函数,此时vue实例已经完全被销毁啦。
9.我们再继续回过头看,还有两个函数,beforeUpdate函数和Updated函数,这两种函数见图可知是在实例被改变时执行的函数,首先,在控制台输入如:vm.test = “Bye world”,在实例改变之前,已经执行了beforeUpdate函数。
10.由于控制台输入以上语句,所以data{ test }内中的内容将会被改变,在改变之后,Vue将会执行Updated函数,标志着实例被更改完毕。
上一篇: React:组件的生命周期
下一篇: Vue——生命周期