一起来学习Vue的生命周期

生命周期

生命周期的简单介绍

1.生命周期又叫做:生命周期回调函数、生命周期函数、生命周期钩子。

2.生命周期是:Vue在关键时刻帮我们调用的一些特殊名称的函数。

3.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。

4.生命周期函数中的this指向是vm 或 组件实例对象。

在Vue官网教学中,Vue实例=>实例生命周期钩子中列举了8个生命周期函数

分别是:

1.beforeCreate()

2.created()

3.beforeMount()

4.mounted()(重点)

5.beforeUpdate()

6.updated()

7.beforeDestroy() (重点)

8.destroyed()

这八个生命周期函数涵盖了Vue实例从创建到销毁的过程即创建之前、创建完成、挂载之前、挂载完成、更新之前、更新完成、销毁之前、销毁完成。

beforeCreate与created

beforeCreate()

当使用 beforeCreate时,由于还没完成创建,因此无法通过vm访问到data中的数据、methods中的方法。

created()

当使用 created时,由于已经完成了创建,因此可以通过vm访问到data中的数据、methods中的方法。

beforeMount与mounted

beforeMount()

当使用 beforeMount时,由于还未完成挂载,因此此时页面呈现的内容都是未经Vue编译的DOM结构,并且在此时对DOM的所有操作最终都不奏效。不奏效的原因是当运行到mounted时,系统会将内存中的虚拟DOM转为真实DOM插入页面,因此修改的内容会被覆盖。

mounted()(重要)

当使用mounted时,此时已经完成挂载,页面呈现的内容会变成经过Vue编译的DOM,同时此时对DOM的操作均有效。当运行到这时,初始化的过程就结束了。一般在此进行如下操作:开启定时器、发送网络请求、订阅消息等初始化操作。

beforeUpdate与updated

数据发生变化时,会使用beforeUpdate与updated进行更新

beforeUpdate()

当使用beforeUpdate时,此时还未更新完毕,数据已经成功获取,但是还未展示到页面中。因此会存在以下现象,数据是新数据但是页面中显示的是旧数据。此时页面与数据尚未保持同步。

updated()

当使用updated时,此时已经更新完毕。这时候数据是新数据,页面中显示的也是新数据。此时页面与数据保持同步。

beforeDestroy与destroyed

当Vue实例要销毁的时候,会使用beforeDestroy与destroyed进行销毁

beforeDestroy()(重要)

当使用beforeDestroy时,此时Vue实例还未完全销毁,vm中的 data、methods、指令等还都处于可用状态。但此时修改数据已经不会对页面进行更新。通常在此阶段进行关闭定时器、取消订阅信息、解绑自定义事件等操作。在这8个生命周期函数中,beforeDestroy与mounted使用较多。

destroyed()

当使用destroyed时,Vue实例彻底销毁。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

你可能感兴趣的:(一起来学习Vue的生命周期)