vue实例有一个完整的生命周期,生命周期也就是指一个实例从开始创建到销毁的这个过程,每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM,共分为三个阶段:初始化、运行中、销毁。同时在这个过程中也会运行一些叫做生命周期钩子的函数。
1、beforeCreated() 在实例创建之间执行,数据未加载状态。

2、created() 在实例创建、数据加载后,能初始化数据,dom渲染之前执行

--beforeCreated()与created()结果分析
created的时候数据已经和data属性进行绑定(放在data中的属性当值发生改变的同时,视图也会改变)但此时的el还是undefined

3、beforeMount() 虚拟dom已创建完成,在数据渲染前最后一次更改数据

4、mounted() 页面、数据渲染完成,真实dom挂载完成

--beforeMount()与mounted()结果分析 在beforeMount()中h1中{{msg}},因为此时还没有挂载到页面上,还是JavaScript中的虚拟DOM形式存在的。在mounted之后可以看到h1中的内容发生了变化,已将数据挂在到页面上


6、updated() 数据已经更改完成,dom也重新render完成,更改数据会陷入死循环
--beforeUpadate()与updated()结果分析
当vue发现data中的数据发生了改变,会触发对应组件的重新渲染,先后调用beforeUpdate和updated钩子函数。


7、beforeDestory()和destoryed() 前者是销毁前执行(实例仍然完全可用),后者则是销毁后执行


--beforeDestory()与和destoryed()结果分析
销毁前实例仍然完全可用,销毁后则数据已是undefined
