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 相关文章推荐
点图片上一页下一页翻页效果
Jul 09 Javascript
jQuery ui 1.7更新小结
Aug 15 Javascript
jQuery弹性滑动导航菜单实现思路及代码
May 02 Javascript
node.js中的events.emitter.removeListener方法使用说明
Dec 10 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
Mar 15 Javascript
checkbox在vue中的用法小结
Nov 13 Javascript
用Vue编写抽象组件的方法
May 06 Javascript
Vue组件化开发之通用型弹出框的实现
Feb 28 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 jQuery
jQuery--遍历操作实例小结【后代、同胞及过滤】
May 22 jQuery
VUE Elemen-ui之穿梭框使用方法详解
Jan 19 Javascript
Ant design vue中的联动选择取消操作
Oct 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
php下MYSQL limit的优化
2008/01/10 PHP
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
PHP中的reflection反射机制测试例子
2014/08/05 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
JavaScript中URL编码函数代码
2011/01/11 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
jQuery的css()方法用法实例
2014/12/24 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
Python3.6简单操作Mysql数据库
2017/09/12 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
美国女孩服装购物网站:Justice
2017/03/04 全球购物
JDK安装目录下有哪些内容
2014/08/25 面试题
Android interview questions
2016/12/25 面试题
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
农业开发项目建议书
2014/05/16 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
企业催款函范本
2015/06/24 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS