一、生命周期钩子(hooks)的概述

    1、在每个Vue实例被创建时都要经过一系列的初始化过程,例如:需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这也给了用户在不同阶段添加自己代码的机会。

    例如:created钩子可以用来在一个实例被创建后执行的代码:

    Vue的生命周期钩子 - 图1

    2、这些钩子的 this 都指向Vue创建的实例对象。

    3、生命周期展示

    红框表示开发者可以添加自己代码的钩子,绿色和别的颜色代表Vue创建过程默认执行的代码,

    1.在beforeCreate前取不到data、message等数据,在created后就可以获取到

    2.beforeMount,虚拟DOM还没有挂载到真实DOM,所以我们取得的DOM数据还是还是未挂载前的数据,mounted可以获取到的是已挂载虚拟DOM的DOM数据

    3.beforeUpdate前数据就已经改变,但是数据还未重新渲染到DOM上,updated是数据已经渲染到DOM上后

    4.beforeDestroy是执行销毁前,destroyed是执行销毁后

    5.激活:activated,失活:deactivated

    Vue的生命周期钩子 - 图2