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 相关文章推荐
jQuery 剧场版 你必须知道的javascript
May 27 Javascript
ExtJs grid行 右键菜单的两种方法
Jun 19 Javascript
JS下拉框内容左右移动效果的具体实现
Jul 10 Javascript
简介AngularJS中$http服务的用法
Feb 06 Javascript
Jq通过td获取同行其它列td的方法
Oct 05 Javascript
在html中引入外部js文件,并调用带参函数的方法
Oct 31 Javascript
Angular中使用$watch监听object属性值的变化(详解)
Apr 24 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
Nov 18 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
Nov 27 Javascript
微信小程序实现判断是分享到群还是个人功能示例
May 03 Javascript
layui表格设计以及数据初始化详解
Oct 26 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
Aug 31 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
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
python有证书的加密解密实现方法
2014/11/19 Python
Python实现字典的key和values的交换
2015/08/04 Python
python 使用get_argument获取url query参数
2017/04/28 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
Python函数中的可变长参数详解
2019/09/12 Python
如何基于Python批量下载音乐
2019/11/11 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
python输入中文的实例方法
2020/09/14 Python
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
意大利团购网站:Groupon意大利
2016/10/11 全球购物
彪马美国官网:PUMA美国
2017/03/09 全球购物
static关键字的用法
2013/10/07 面试题
测绘工程系学生的自我评价
2013/11/30 职场文书
机械制造专业个人的自我评价
2013/12/28 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
付款证明格式范文
2015/06/19 职场文书
小学教师见习总结
2015/06/23 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技