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


Posted in Javascript onMarch 22, 2018

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学习笔记7 原型链的原理
Jan 11 Javascript
基于jQuery的message插件实现右下角弹出消息框
Jan 11 Javascript
js 获取radio按钮值的实例
Aug 17 Javascript
jQuery自定义滚动条完整实例
Jan 08 Javascript
jQuery zTree加载树形菜单功能
Feb 25 Javascript
javascript之Boolean类型对象
Jun 07 Javascript
jquery动态添加文本并获取值的方法
Oct 12 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
May 08 Javascript
bootstrap可编辑下拉框jquery.editable-select
Oct 12 jQuery
微信小程序组件之srcoll-view的详解
Oct 19 Javascript
JS实现将链接生成二维码并转为图片的方法
Mar 17 Javascript
微信小程序WebSocket实现聊天对话功能
Jul 06 Javascript
bootstrap中selectpicker下拉框使用方法实例
Mar 22 #Javascript
使用Vue开发动态刷新Echarts组件的教程详解
Mar 22 #Javascript
JavaScript分步实现一个出生日期的正则表达式
Mar 22 #Javascript
vuex 的简单使用
Mar 22 #Javascript
Vue.js中的computed工作原理
Mar 22 #Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
Mar 22 #Javascript
JS中的事件委托实例浅析
Mar 22 #Javascript
You might like
xajax写的留言本
2006/11/25 PHP
用php实现批量查询清除一句话后门的代码
2008/01/20 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
替换python字典中的key值方法
2018/07/06 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
出国留学介绍信
2014/01/13 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
小学生春游活动方案
2014/08/20 职场文书
死亡赔偿协议书
2015/01/28 职场文书
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫
零基础学java之方法的定义与调用详解
2022/04/10 Java/Android