示例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 学习笔记(十四) 正则表达式
Jan 22 Javascript
实现js保留小数点后N位的代码
Nov 13 Javascript
javascript实现时间格式输出FormatDate函数
Jan 13 Javascript
angular简介和其特点介绍
Jan 29 Javascript
JavaScript获取网页中第一个图片id的方法
Apr 03 Javascript
基于javascript实现图片切换效果
Apr 17 Javascript
jQuery原理系列-css选择器的简单实现
Jun 07 Javascript
vue2.0获取自定义属性的值
Mar 28 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
Jun 28 Javascript
vue实现模态框的通用写法推荐
Feb 26 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
Feb 05 Javascript
vue created钩子函数与mounted钩子函数的用法区别
Nov 05 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网上调查系统
2006/10/09 PHP
PHP中的float类型使用说明
2010/07/27 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
Adnroid 微信内置浏览器清除缓存
2016/07/11 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
js no-repeat写法 背景不重复
2009/03/18 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
2018/03/09 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
Python读写Excel文件的实例
2013/11/01 Python
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
python使用marshal模块序列化实例
2014/09/25 Python
浅析Python中的多重继承
2015/04/28 Python
python中的字典使用分享
2016/07/31 Python
python实现多人聊天室
2020/03/31 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
2019/05/10 Python
Python读写文件基础知识点
2019/06/10 Python
Python使用socket_TCP实现小文件下载功能
2020/10/09 Python
美国Lolё官网:购买大胆而美丽的女性运动服装
2017/05/22 全球购物
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
学生会干部自荐信
2014/02/04 职场文书
银行金融服务方案
2014/06/11 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
北大自主招生自荐信
2015/03/04 职场文书
反腐倡廉观后感
2015/06/08 职场文书
个人合作协议范本
2015/08/06 职场文书
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
Python 中的 copy()和deepcopy()
2021/11/07 Python