文章目录

  • 一、keep-alive是什么?
  • 二、具体使用
    • 1.包裹缓存动态组件
    • 2.包裹缓存页面
      • 注意:
  • 三、使用keep-alive的好处
  • 四、延伸

一、keep-alive是什么?

keep-alive是Vue的内置组件,使用它包裹动态组件时,会缓存不活动的动态组件实例,而不是销毁他们。keep-alive 是一个抽象组件:它自身不会渲染成一个 DOM 元素,也不会出现在父组件链中。

二、具体使用

kepp-alive不但可以包裹缓存动态组件,还可以包裹缓存页面内容。

1.包裹缓存动态组件

如下图,我新建了3个组件,并把它渲染到页面上:



页面效果如下:

当我点击Live1,Live2,Live3时,三个组件之间会来回切换,并且显示的num值也会重新归零。
页面效果如下:

如果我们想在切换的时候,还保留组件的信息,这时就需要用到keep-alive。

下面我们再看效果。

这就实现了缓存不活动的组件实例。

我们再实际应用中,并不是需要缓存全部的组件,这时就需要用到keep-alive的白名单,黑名单,也就是keep-alive的include和exclude属性。

被加入黑名单的组件,就不会被缓存,相反的,被加入白名单的组件,就会被缓存。

2.包裹缓存页面

keep-alive同样也能包裹缓存页面,在实际开发中,如我们现在开发了一个商品商城项目,首页的数据是不是经常不变的,这时就可以用keep-alive将首页包裹,减少加载时间及性能消耗,提高用户体验性。
使用方法基本与包裹动态组件相同。使用时只需将其包裹在页面路由外,同样也可以利用白名单和黑名单决定哪些需要被缓存,哪些不需要被缓存。

注意:

使用时在data同级的位置加上name:’’。

三、使用keep-alive的好处

在组件切换过程中 把切换出去的组件保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,提高用户体验性。

四、延伸

被包含在 keep-alive 中创建的组件,会多出两个生命周期的钩子: activated(组件激活时使用) 与 deactivated(组价离开时调用)

一分钟搞懂keep-alive相关推荐

  1. mysql decimal型转化为float_5分钟搞懂MySQL数据类型之数值型DECIMAL类型

    速成指南 5分钟搞懂MySQL数据类型 之数值型--DECIMAL类型 DECIMAL类型的语法:DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL].其中M指定的是数字的总位 ...

  2. 一分钟搞懂 微调(fine-tuning)和prompt

    一分钟搞懂 微调fine-tuning和prompt 区别与联系 区别 联系 优缺点 微调的优点 微调的缺点 prompt的优点 prompt的缺点 在CV领域 Reference 大家都是希望让预训 ...

  3. html网页和cgi程序编程,十分钟搞懂什么是CGI

    原文:CGI Made Really Easy,在翻译的过程中,我增加了一些我在学习过程中找到的更合适的资料,和自己的一些理解.不能算是严格的翻译文章,应该算是我的看这篇文章的过程的随笔吧. CGI真 ...

  4. python数据分析建模-十分钟搞懂“Python数据分析”

    原标题:十分钟搞懂"Python数据分析" 引言:本文重点是用十分钟的时间帮读者建立Python数据分析的逻辑框架.其次,讲解"如何通过Python 函数或代码和统计学知 ...

  5. 场内场外交易成本_2分钟搞懂场内场外基金

    一天一个金融知识,是成为投资大神的必要条件.今天我们花2分钟搞懂场内基金和场外基金.基金,既可以场内买又可以场外申购,场内场外这两者有什么区别?场内 场外 场内场外的"场",一般指 ...

  6. 看聊天记录都学不会C语言?太菜了吧》(17)5分钟搞懂指针与多重指针

    若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我,若你是真心学习可以送你书籍,指导你学习,给予你目标方向的学习路线,无套路,博客为证. 本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新 ...

  7. 5分钟搞懂用户态,内核态

    5分钟搞懂用户态,内核态 1. 什么是用户态,内核态 用户态就是提供应用程序运行的空间,为了使应用程序访问到内核管理的资源例如CPU,内存,I/O.内核必须提供一组通用的访问接口,这些接口就叫系统调用 ...

  8. 一分钟搞懂JavaME、JavaSE和JavaEE的区别

    一分钟搞懂JavaME.JavaSE和JavaEE的区别 JavaME微缩版 JavaSE标准版 JavaEE企业版 多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(pa ...

  9. 五分钟搞懂什么是红黑树

    五分钟搞懂什么是红黑树(全程图解) 18-09-04 星925 + 关注 献花(2)  收藏 前戏 红黑树,对很多童鞋来说,是既熟悉又陌生.熟悉是因为在校学习期间,准备面试时,这是重点.然后经过多年的 ...

  10. 什么是SRM?SRM是什么软件?小白1分钟搞懂SRM

    什么是SRM?SRM是什么软件?小白1分钟搞懂SRM SRM是用来管理上游供应商,以及采购方和供应商进行采购交易的一套软件,在很多生产类企业中,往往需要和ERP集成. 原因:1是ERP系统不能实现采购 ...

最新文章

  1. java 分布式服务器通信,Pigeon是大众点评的一个分布式服务通信框架RPC
  2. CPU GPU FPU TPU 及厂商
  3. 装饰模式与代理模式的区别
  4. [Java]向上/下转型Casting
  5. 利器:服务器与CST时间误差8小时的修复方法——timedatectl
  6. java web inf_Java Web中如何访问WEB-INF下的XML文件
  7. 利用THINKPHP框架开发的自定义表单及数据字典模板
  8. VBM_DARTEL算法对灰质变化的计算
  9. 分享两款免费的-思维导图-Freeplane-Setup,百度脑图
  10. 没有百万调音师,用大数据+AI 也能让用户的声音更动听
  11. MATLAB画图---设置坐标轴为固定值(以4厘米为例)
  12. 实时爬取斗鱼直播时的弹幕消息
  13. [android] 手机卫士黑名单功能(ListView结合SQLite增删改)
  14. 开篇词 | 算法是程序的“灵魂”
  15. 虹科Pico动态 |【盖世汽车-走进东风商用车技术展】精彩回顾
  16. Rstudio 修改RMD快捷键快速插入Python代码块
  17. 工业数字化转型中的数据治理
  18. 基于eclipse的android项目实战—博学谷(新功能五)更换头像
  19. 《攻壳机动队》+押井守
  20. 蚂蚁金服P8大佬给的学习资料

热门文章

  1. struct ethhdr、ether_header、iphdr、tcphdr、udphdr
  2. SequoiaDB 巨杉数据库分区原理数据库分区
  3. 五险一金都是指什么--摘录
  4. 什么是分布式操作系统?我们为什么需要分布式操作系统?
  5. springboot+mysql情侣空间系统APP-计算机毕业设计源码39734
  6. linux常见的文件系统格式,Linux系统里几种常见的文件系统格式
  7. QMessageBox.question报错:TypeError: question(QWidget, str, str, buttons: Union[QMessageBox.StandardBut
  8. 百度AI攻略:车辆属性识别
  9. 【杂谈】hexo网站next主题背景图片和超链接颜色问题
  10. Java中的集合(Collection,Map)