Vue中keep-alive组件作用详解


Posted in Javascript onFebruary 04, 2020

keep-alive组件的作用,供大家参考

作用:用于保留组件状态避免重新渲染(缓存的作用)

比如:当一个目录页面与一个详情页面,用户经常:打开目录页面=>进入详情页面=>返回目录页面=>打开详情页面,这样目录页面就是一个使用频率很高的页面,那么就可以对目录组件使用<keep-alive></keep-alive>进行缓存,这样用户每次返回目录时,都能从缓存中快速渲染,而不用重新渲染

属性

该标签有两个属性include与exclude:

  • include:字符串或者正则表达式。只有匹配的组件会被缓存
  • exclude:字符串或者正则表达式。任何匹配的组件都不会被缓存。

用法

<!-- 基本 -->
<keep-alive>
 <component :is="view"></component>
</keep-alive>

<!-- 多个条件判断的子组件 -->
<keep-alive>
 <comp-a v-if="a > 1"></comp-a>
 <comp-b v-else></comp-b>
</keep-alive>

<!-- 常见应用 -->
<keep-alive>
 <router-view></router-view>
</keep-alive>

注意: 是用在其一个直属的子组件被开关时的情形,要求同时只有一个子元素被渲染

include和exclude属性的使用

include和exclude属性允许组件有条件地缓存。二者都可以用逗号分割字符串、正则表达式或者一个数组。

<!-- 逗号分隔字符串 -->
<keep-alive include="a,b">
 <component :is="view"></component>
</keep-alive>

<!-- 正则表达式 (使用 `v-bind`) -->
<keep-alive :include="/a|b/">
 <component :is="view"></component>
</keep-alive>

<!-- 数组 (使用 `v-bind`) -->
<keep-alive :include="['a', 'b']">
 <component :is="view"></component>
</keep-alive>

匹配首先检查组件自身的name选项, 如果name选项不可用,则匹配它的局部注册名称

生命钩子

  • keep-alive提供了两个生命钩子,分别是activateddeactivated。因为keep-alive会将组件保存在内存中,并不会销毁以及重新创建,所以不会重新调用组件的created、mounted这些函数。
  • 被 keep-alive 包裹的组件被缓存之后有两个独有的生命周期: activated 和 deactivated。activated 生命周期在组件激活时调用、deactivated 生命周期在组件停用时调用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Extjs入门之动态加载树代码
Apr 09 Javascript
10个实用的脚本代码工具
May 04 Javascript
纯JS实现根据CSS的class选择DOM
Mar 22 Javascript
基于JQuery实现图片上传预览与删除操作
May 24 Javascript
简单实现js间歇或无缝滚动效果
Jun 29 Javascript
jQuery实现的兼容性浮动层示例
Aug 02 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
Oct 28 Javascript
JS弹性运动实现方法分析
Dec 15 Javascript
Angular6封装http请求的步骤详解
Aug 13 Javascript
微信小程序下拉框功能的实例代码
Nov 06 Javascript
利用Node.js如何实现文件循环覆写
Apr 05 Javascript
微信小程序自定义模态弹窗组件详解
Dec 24 Javascript
WEB前端性能优化的7大手段详解
Feb 04 #Javascript
JavaScript对象属性操作实例解析
Feb 04 #Javascript
JavaScript this使用方法图解
Feb 04 #Javascript
解决微信小程序scroll-view组件无横向滚动的问题
Feb 04 #Javascript
JavaScript原型继承和原型链原理详解
Feb 04 #Javascript
JavaScript单线程和任务队列原理解析
Feb 04 #Javascript
Vue中this.$nextTick的作用及用法
Feb 04 #Javascript
You might like
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
php查询whois信息的方法
2015/06/08 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
php的socket编程详解
2016/11/20 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
window.parent调用父框架时 ie跟火狐不兼容问题
2009/07/30 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
js格式化时间小结
2014/11/03 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
js操作table元素实现表格行列新增、删除技巧总结
2015/11/18 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
Python性能提升之延迟初始化
2016/12/04 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
python实现简单五子棋游戏
2019/06/18 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
Pandas —— resample()重采样和asfreq()频度转换方式
2020/02/26 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
2014年干部培训工作总结
2014/12/17 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
学生病假条范文
2015/08/17 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书