Vue生命周期区别详解

 更新时间:2021年07月29日 10:00:02   作者:stay_少年与梦  
这篇文章主要介绍了Vue生命周期区别详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

生命周期分类

vue每个组件都是独立的,每个组件都有一个属于它的生命周期,

从一个组件创建数据初始化挂载更新销毁,这就是一个组件所谓的生命周期。
在组件中具体的方法有:
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
destroyed

beforeCreate( 创建前 )

在实例初始化之后,数据观测和事件配置之前被调用,此时组件的选项对象还未创建,el 和 data 并未初始化,因此无法访问methods,
data, computed等上的方法和数据。

created ( 创建后 )

实例已经创建完成之后被调用,在这一步,实例已完成以下配置:数据观测、属性和方法的运算,watch/event事件回调,完成了data 数据的初始化,el没有。 然而,挂在阶段还没有开始, $el属性目前不可见,这是一个常用的生命周期,因为你可以调用methods中的方法,改变data中的数据,并且修改可以通过vue的响应式绑定体现在页面上,,获取computed中的计算属性等等,通常我们可以在这里对实例进行预处理

beforeMount(挂载前)

挂在开始之前被调用,相关的render函数首次被调用(虚拟DOM),实例已完成以下的配置: 编译模板,把data里面的数据和模板生成html,完成了el和data 初始化,注意此时还没有挂在html到页面上。

mounted(挂载后)

挂在完成,也就是模板中的HTML渲染到HTML页面中,此时一般可以做一些ajax操作,mounted只会执行一次。

beforeUpdate(更新前)

在数据更新之前被调用,发生在虚拟DOM重新渲染和打补丁之前,可以在该钩子中进一步地更改状态,不会触发附加地重渲染过程

updated(更新后)

在由于数据更改导致地虚拟DOM重新渲染和打补丁只会调用,调用时,组件DOM已经更新,所以可以执行依赖于DOM的操作,然后在大多是情况下,应该避免在此期间更改状态,因为这可能会导致更新无限循环,该钩子在服务器端渲染期间不被调用

beforeDestroy(销毁前)

在实例销毁之前调用,实例仍然完全可用,
这一步还可以用this来获取实例,
一般在这一步做一些重置的操作,比如清除掉组件中的定时器 和 监听的dom事件

destroyed(销毁后)

在实例销毁之后调用,调用后,所以的事件监听器会被移出,所有的子实例也会被销毁,该钩子在服务器端渲染期间不被调用
vue实例已经解除了事件监听以及dom的绑定,但是dom结构依然存在

执行顺序(图示)

在这里插入图片描述

到此这篇关于Vue生命周期区别详解的文章就介绍到这了,更多相关Vue生命周期内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue使用路由router-view的详细代码

    vue使用路由router-view的详细代码

    这篇文章主要介绍了vue使用路由router-view的相关知识,其原理就是采用 SPA(single-page-application) 模式,就是只有一个 Web 页面的应用,通过 router 来控制页面的刷新和迭代,感兴趣的朋友一起看看吧
    2023-12-12
  • vue+element-ui+axios实现图片上传

    vue+element-ui+axios实现图片上传

    这篇文章主要为大家详细介绍了vue+element-ui+axios实现图片上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • vue中data改变后让视图同步更新的方法

    vue中data改变后让视图同步更新的方法

    这篇文章主要给大家介绍了关于vue中data改变后让视图同步更新的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Vue开发中整合axios的文件整理

    Vue开发中整合axios的文件整理

    这篇文章主要给大家整理了在Vue开发中整合axios要用到的文件,在vue开发中,不可避免要整合axios,文中通过示例代码介绍的非常详细,需要的朋友们下面来一起看看吧。
    2017-04-04
  • Vue列表页渲染优化详解

    Vue列表页渲染优化详解

    这篇文章主要为大家详细介绍了Vue列表页渲染优化的操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Vue完整版和runtime版的区别详解

    Vue完整版和runtime版的区别详解

    这篇文章主要为大家介绍了Vue完整版和runtime版的区别详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 前端element-ui两层dialog嵌套遮罩层消失的问题解决办法

    前端element-ui两层dialog嵌套遮罩层消失的问题解决办法

    最近使用vue+elementUI做项目,使用过程中很多地方会用到dialog这个组件,有好几个地方用到了dialog的嵌套,这篇文章主要给大家介绍了关于前端element-ui两层dialog嵌套遮罩层消失的问题解决办法,需要的朋友可以参考下
    2024-08-08
  • 解决vite build打包后页面不能正常访问的情况

    解决vite build打包后页面不能正常访问的情况

    这篇文章主要介绍了解决Vite打包后直接使用浏览器打开,显示空白问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue+rem自定义轮播图效果

    vue+rem自定义轮播图效果

    这篇文章主要为大家详细介绍了vue+rem自定义轮播图效果,手指触摸左滑和右滑,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Vue如何使用patch-package优雅地修改第三方依赖库

    Vue如何使用patch-package优雅地修改第三方依赖库

    在前端开发中,有时我们需要对第三方依赖库进行修改以满足项目需求,patch-package 是一个优秀的工具,可以帮助我们优雅地管理这些修改,下面我们来看看具体操作吧
    2025-03-03

最新评论