示例vue 的keep-alive缓存功能的实现


Posted in Javascript onDecember 13, 2018

本篇文章主要介绍了vue 的keep-alive缓存功能的实现,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。

示例vue 的keep-alive缓存功能的实现

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

<keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 <transition> 相似,<keep-alive> 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在父组件链中。

prop:

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

Vue 实现组件信息的缓存

当我们在开发vue的项目过程中,避免不了在路由切换到其他的component再返回后该组件数据会重新加载,处理这种情况我们就需要用到keep-alive来缓存vue的组件信息,使其不再重新加载。

一、在app.vue里

<keep-alive>
 <router-view></router-view>
</keep-alive>

但是这种情况会对所有的组件进行缓存,不能达到单个组件缓存的效果。

那么我们给部分组件加上,实现方法如下:

在app.vue

<!--这里是需要keepalive的-->
<keep-alive>
 <router-view v-if="$route.meta.keepAlive"></router-view>
<keep-alive>
 
<!-- 这里不会被keepAlive -->
 
<router-view v-if="!$route.meta.keepAlive"></router-view>

二、 在路由的index.js页面里

{
 path: '',
 name: '',
 component: '',
 meta: {keepAlive: true}  // 这个是需要keepalive的
},
{
 path: '',
 name: '',
 component: ,
 meta: {keepAlive: false} // 这是不会被keepalive的
}

这就实现了部分组件的缓存功能

如果缓存的组件想要清空数据或者执行初始化方法,在加载组件的时候调用activated钩子函数,如下:

activated: function () {
 this.data = ‘'
}

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

Javascript 相关文章推荐
用javascript实现的激活输入框后隐藏初始内容
Jun 29 Javascript
网络图片延迟加载实现代码 超越jquery控件
Mar 27 Javascript
超级有用的13个基于jQuery的内容滚动插件和教程
Jul 31 Javascript
JS+CSS实现可拖拽的漂亮圆角特效弹出层完整实例
Feb 13 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
Jun 19 Javascript
javascript判断回文数详解及实现代码
Feb 03 Javascript
CodeMirror js代码加亮使用总结
Mar 25 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
浅谈React Native 中组件的生命周期
Sep 08 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
May 07 Javascript
JS验证输入的是否是数字及保留几位小数问题
May 09 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
Oct 20 Javascript
Element UI框架中巧用树选择器的实现
Dec 12 #Javascript
vue-cli中安装方法(图文详细步骤)
Dec 12 #Javascript
新版小程序登录授权的方法
Dec 12 #Javascript
加快Vue项目的开发速度的方法
Dec 12 #Javascript
关于自定义Egg.js的请求级别日志详解
Dec 12 #Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
Dec 12 #Javascript
d3绘制基本的柱形图的实现代码
Dec 12 #Javascript
You might like
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
php中Y2K38的漏洞解决方法实例分析
2014/09/22 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
提示$ is not defined错误分析及解决
2013/04/09 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
js+html5绘制图片到canvas的方法
2015/06/05 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
JS如何寻找数组中心索引过程解析
2020/06/01 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
python执行get提交的方法
2015/04/29 Python
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
Python之文字转图片方法
2018/05/10 Python
python的turtle库使用详解
2019/05/10 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
财务会计毕业生个人求职信
2014/02/03 职场文书
大学三年计划书范文
2014/04/30 职场文书
军训决心书范文
2015/09/22 职场文书
解除租赁合同协议书
2016/03/21 职场文书
python单向链表实例详解
2022/05/25 Python