Vue生命周期函数(详解)

什么是Vue生命周期?

Vue 实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模
板、挂载 Dom→渲染、更新→渲染、卸载等一系列过程,我们称这是 Vue 的生命周期。

Vue的生命周期函数有哪些?在各个阶段做的事是什么?

四个周期八个函数

创建阶段:

beforeCreate(创建前):

给实例化的Vue对象添加了属性和方法还有生命周期函数。

created(创建后):

把methods和data添加到Vue实例化对象上,所以在created周期内可以访问data和methods中的数据,在这个阶段我们一般发送网络请求获取数据。

挂载阶段:

beforeMount(挂载前):

在DOM挂载页面进行data数据'预'处理

mounted(挂载后):

已经把DOM挂载到页面上了,是可以进行DOM元素操作的阶段了(可以理解为已经将虚拟DOM绘制到浏览器中------即为真实DOM)

更新阶段:

 beforeUpdate(更新前):

数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器,该钩子在服务器端渲染期间不被调用,因为只有初 次渲染会在服务端进行,这个阶段的数据会进行变更,DOM没有实际更新。

updated(更新后):

数据更新的DOM也已经产生在页面上了,可以继续访问

销毁阶段

beforeDestroy(销毁前):

实例销毁之前调用。在这一步,实例仍然完全可用。该钩子在服务器端渲染期间不被调用。

destroy(销毁后):

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

组件缓存是什么?组件缓存有什么作用?组件缓存时出现的周期函数有哪些?

理解:

vue 中有个动态组件的概念,它能够帮助开发 者更好的实现组件之间的切换,但是在面对需求频繁的变化,去要切换组件时,动态组件在切 换的过程中,组件的实例都是重新创建的,而我们需要保留组件的状态,为了解决这个问题, 需要使用到 vue 中内置组件 包裹动态组件时,会缓存不活动的组件实例,主要用于保留组 件状态或避免重新渲染。

好处:

不会反复创建销毁组件,提高性能。

缓存阶段:

activated:

keep-alive 组件激活时调用。该钩子在服务器端渲染期间不被调用

deactivated:

keep-alive 组件停用时调用。该钩子在服务器端渲染期间不被调用

新增的生命周期函数

errorCaptured(2.5.0+ 新增)

当捕获一个来自子孙组件的错误时被调用。此钩子会收到三个参数:错误对象、发生
错误的组件实例以及一个包含错误来源信息的字符串,此钩子可以返回 false 以阻止该错误继
续向上传播。
Vue生命周期函数(详解)_第1张图片

 

Vue生命周期函数(详解)_第2张图片

 

你可能感兴趣的:(Vue,vue.js,前端)