Vue.js组件的生命周期

就像一个人,从出生到死亡会经历童年、少年、青年、中年、老年各个阶段。如果你是上帝,你可以让他童年做着无忧无虑的事情、少年用功读书、青年到处游学、中年娶妻生子、老年儿孙满堂。

Vue.js让你有了上帝之手,可以操纵Vue实例的整个生命周期。

一、生命周期

每个 Vue 实例在被创建之前都要经过一系列的初始化过程。例如,实例需要:

配置数据观测(data observer)

编译模版、挂载实例到 DOM

在数据变化时更新 DOM

在这个过程中,实例也会调用一些生命周期钩子 ,这就给我们提供了执行自定义逻辑的机会。从Vue实例创建、运行、到销毁期间,会伴随着触发各种各样的事件,这些事件,统称为生命周期。

生命周期钩子 = 生命周期函数 = 生命周期事件

二、Vue实例生命周期图示

image

生命周期中事件划分:

1) 创建期间的生命周期函数

beforeCreate

实例刚在内存中被创建出来,此时,还没有初始化好 data 和 methods 属性;

created

实例已经在内存中创建完毕,此时 data 和 methods 已经创建完毕,此时还没有开始编译模板;

beforeMount

此时已经完成了模板的编译,但是还没有挂载到页面中;

mounted

此时已经将编译好的模板,挂载到了页面指定的容器中显示;

2) 运行期间的生命周期函数

beforeUpdate

状态更新之前执行此函数, 此时 data 中的状态值是最新的,但是界面上显示的 数据还是旧的,因为此时还没有开始重新渲染DOM节点;

updated

实例更新完毕之后调用此函数,此时 data 中的状态值 和 界面上显示的数据,都已经完成了更新,界面已经被重新渲染好了!

3) 销毁期间的生命周期函数

beforeDestroy

实例被销毁之前调用,在该函数中,实例仍然完全可用。

destroyed

Vue 实例销毁后调用,调用该函数后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

你可能感兴趣的:(Vue.js组件的生命周期)