一起来学习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实例彻底销毁。

总结

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

相关文章

  • Vue2.0 vue-source jsonp 跨域请求

    Vue2.0 vue-source jsonp 跨域请求

    这篇文章主要介绍了Vue2.0 vue-source jsonp 跨域请求,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • vue实现简单图片上传

    vue实现简单图片上传

    这篇文章主要为大家详细介绍了vue实现简单图片上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Vue-Luckysheet的使用方法及遇到问题解决方法

    Vue-Luckysheet的使用方法及遇到问题解决方法

    Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源,这篇文章主要介绍了Vue-Luckysheet的使用方法,需要的朋友可以参考下
    2022-08-08
  • 样式穿透vue中的scoped详谈

    样式穿透vue中的scoped详谈

    这篇文章主要为大家介绍了样式穿透vue中的scoped示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • vue父组件传值子组件报错Avoid mutating a prop directly解决

    vue父组件传值子组件报错Avoid mutating a prop directly解决

    这篇文章主要为大家介绍了vue父组件传值子组件报错Avoid mutating a prop directly解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Vue组件设计-滚动置顶设计案例

    Vue组件设计-滚动置顶设计案例

    这篇文章主要介绍了Vue组件设计-滚动置顶设计案例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • vue项目引入antDesignUI组件实现

    vue项目引入antDesignUI组件实现

    本文介绍了如何以Vue引入antDesignUI,主要包括下载安装、配置和引入组件等步骤,通过本文,读者可以快速了解antDesignUI在Vue中的应用,感兴趣的可以了解一下
    2023-08-08
  • Vue-router中hash模式与history模式的区别详解

    Vue-router中hash模式与history模式的区别详解

    这篇文章主要给大家介绍了关于Vue-router中hash模式与history模式区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Vue3+TypeScript报错:无法找到模块xx的声明文件问题

    Vue3+TypeScript报错:无法找到模块xx的声明文件问题

    这篇文章主要介绍了Vue3+TypeScript报错:无法找到模块xx的声明文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Vue项目从webpack3.x升级webpack4不完全指南

    Vue项目从webpack3.x升级webpack4不完全指南

    前段时间,泡面将自己的一个Vue-cli构建的前端框架从webpack3.x升级到了4.x版本,现在才拉出来记录一下,已备忘之用,也和大家分享一下,需要的朋友可以参考下
    2019-04-04

最新评论