示例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 相关文章推荐
Yii2使用Bootbox插件实现自定义弹窗
Apr 02 Javascript
jQuery EasyUi 验证功能实例解析
Jan 06 Javascript
微信小程序 UI与容器组件总结
Feb 21 Javascript
解决JS外部文件中文注释出现乱码问题
Jul 09 Javascript
Vue结合SignalR实现前后端实时消息同步
Sep 19 Javascript
JavaScript运行原理分析
Feb 09 Javascript
浅析node应用的timing-attack安全漏洞
Feb 28 Javascript
Angular5中调用第三方库及jQuery的添加的方法
Jun 07 jQuery
js实现无缝轮播图
Mar 09 Javascript
vue-cli —— 如何局部修改Element样式
Oct 22 Javascript
JS前端基于canvas给图片添加水印
Nov 11 Javascript
JavaScript手写数组的常用函数总结
Nov 22 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和AJAX创建RSS聚合器的代码
2007/03/13 PHP
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
php微信开发自定义菜单
2016/08/27 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
php简单中奖算法(实例)
2017/08/15 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
网页常用特效代码整理
2006/06/23 Javascript
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
vue mvvm数据响应实现
2020/11/11 Javascript
Python中getpass模块无回显输入源码解析
2018/01/11 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
2018/02/23 Python
python将字符串转换成json的方法小结
2019/07/09 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
2014年公务员退休工资改革方案
2014/10/01 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
Python find()、rfind()方法及作用
2022/12/24 Python