示例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 相关文章推荐
用js实现的抽象CSS圆角效果!!
May 03 Javascript
javascript 函数声明与函数表达式的区别介绍
Oct 05 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
Jun 09 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
Jan 02 Javascript
javascript的switch用法注意事项分析
Feb 02 Javascript
轻松实现js图片预览功能
Jan 18 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
May 30 Javascript
浅谈Javascript中的12种DOM节点类型
Aug 19 Javascript
js友好的时间返回函数
Aug 24 Javascript
关于Webpack dev server热加载失败的解决方法
Feb 22 Javascript
小程序点击图片实现自动播放视频
May 29 Javascript
jQuery开发仿QQ版音乐播放器
Jul 10 jQuery
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自动适应范围的分页代码
2008/08/05 PHP
在mysql数据库原有字段后增加新内容
2009/11/26 PHP
php cout&amp;lt;&amp;lt;的一点看法
2010/01/24 PHP
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
PHP的拦截器实例分析
2014/11/03 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
使用JQuery库提供的扩展功能实现自定义方法
2014/09/09 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
python在文本开头插入一行的实例
2018/05/02 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
班主任寄语大全
2014/04/04 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
总经理检讨书范文
2015/02/16 职场文书
python tkinter实现定时关机
2021/04/21 Python
Django对接elasticsearch实现全文检索的示例代码
2021/08/02 Python
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫