一起来学习Vue的生命周期

 更新时间:2022年02月21日 17:00:19   作者:Revin050  
这篇文章主要为大家详细介绍了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实例彻底销毁。

总结

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

相关文章

  • VUE3开箱即用的音频播放组件完整代码(基于原生audio)

    VUE3开箱即用的音频播放组件完整代码(基于原生audio)

    Vue3开箱即用的框架有很多选择,下面这篇文章主要介绍了VUE3开箱即用的音频播放组件(基于原生audio)的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • Electron+vue从零开始打造一个本地播放器的方法示例

    Electron+vue从零开始打造一个本地播放器的方法示例

    这篇文章主要介绍了Electron+vue从零开始打造一个本地播放器的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题

    使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题

    这篇文章主要介绍了使用vue-cli3 创建vue项目,并配置VS Code 自动代码格式化 vue语法高亮问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • vue如何将对象中所有的key赋为空值

    vue如何将对象中所有的key赋为空值

    这篇文章主要介绍了vue如何将对象中所有的key赋为空值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 详解利用jsx写vue组件的方法示例

    详解利用jsx写vue组件的方法示例

    这篇文章主要给大家介绍了关于利用jsx写vue组件的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。
    2017-07-07
  • vue使用动画实现滚动表格效果

    vue使用动画实现滚动表格效果

    这篇文章主要为大家详细介绍了vue使用动画实现滚动表格效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 使用ElementUI修改el-tabs标签页组件样式

    使用ElementUI修改el-tabs标签页组件样式

    这篇文章主要介绍了使用ElementUI修改el-tabs标签页组件样式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue中axios封装使用的完整教程

    vue中axios封装使用的完整教程

    这篇文章主要给大家介绍了关于vue中axios封装使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • vue3缓存页面keep-alive及路由统一处理详解

    vue3缓存页面keep-alive及路由统一处理详解

    当我们不想每次跳转路由都会重新加载页面时(重新加载页面很耗时),就可以考虑使用keep-alive缓存页面了,这篇文章主要给大家介绍了关于vue3缓存页面keep-alive及路由统一处理的相关资料,需要的朋友可以参考下
    2021-10-10
  • vue项目打包后请求地址错误/打包后跨域操作

    vue项目打包后请求地址错误/打包后跨域操作

    这篇文章主要介绍了vue项目打包后请求地址错误/打包后跨域操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论