美文网首页工作生活
对keep-alive 的了解

对keep-alive 的了解

作者: 没有卢果 | 来源:发表于2019-07-03 10:26 被阅读0次

<keep-alive>是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。

<keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。

<keep-alive><transition>相似,只是一个抽象组件,它不会在DOM树中渲染(真实或者虚拟都不会),也不在父组件链中存在,比如:你永远在 this.$parent 中找不到 keep-alive

keep-alive生命周期钩子函数:activated、deactivated

使用<keep-alive>会将数据保留在内存中,如果要在每次进入页面的时候获取最新的数据,需要在activated阶段获取数据,承担原来created钩子中获取数据的任务。

被包含在 <keep-alive> 中创建的组件,会多出两个生命周期的钩子: activateddeactivated

activated:在组件被激活时调用,在组件第一次渲染时也会被调用,之后每次keep-alive激活时被调用。

deactivated:在组件被停用时调用。

注意:只有组件被 keep-alive 包裹时,这两个生命周期才会被调用,如果作为正常组件使用,是不会被调用,以及在 2.1.0 版本之后,使用 exclude 排除之后,就算被包裹在 keep-alive 中,这两个钩子依然不会被调用!另外在服务端渲染时此钩子也不会被调用的。

什么时候获取数据?

当引入keep-alive 的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activated,退出时触发deactivated。当再次进入(前进或者后退)时,只触发activated。

相关文章

  • 对keep-alive 的了解

    是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。

  • Vue面试考点准备02

    10. 谈谈你对keep-alive的理解是什么? keep-alive是Vue提供的一个抽象组件,用来对组件进行...

  • Vue中iframe保持活动状态(不刷新)

    前言: 提起vue的缓存,大家第一时间想到的一定是keep-alive,但是了解keep-alive缓存原理的都知...

  • vue知识点

    1 对keep-alive的理解 keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,避...

  • Vue / keep-alive

    keep-alive keep-alive是Vue提供的一个抽象组件,用来对组件进行缓存,从而节省性能,由于是一个...

  • 2019-09-04 Vue / keep-alive

    keep-alive keep-alive是Vue提供的一个抽象组件,用来对组件进行缓存,从而节省性能,由于是一个...

  • Vue / keep-alive

    keep-alive keep-alive是Vue提供的一个抽象组件,用来对组件进行缓存,从而节省性能,由于是一个...

  • 27、Vue / keep-alive

    keep-alive keep-alive是Vue提供的一个抽象组件,用来对组件进行缓存,从而节省性能,由于是一个...

  • 好程序员分享http的keep-alive和tcp的keep-a

    好程序员分享http的keep-alive和tcp的keep-alive区别 1、HTTP Keep-Alive ...

  • Vue高级特性「八」--keep-alive 缓存组件 ***

    keep-alive是什么 keep-alive用于保存组件的渲染状态。 keep-alive是一个抽象组件:它自...

网友评论

    本文标题:对keep-alive 的了解

    本文链接:https://www.haomeiwen.com/subject/inofhctx.html