vue路由缓存的几种实现方式小结


Posted in Javascript onFebruary 02, 2020

本文实例讲述了vue路由缓存的几种实现方式。分享给大家供大家参考,具体如下:

在我们的日常开发中,有时候会遇到页面的缓存,特别是电商的项目,在商品列表的一些状态都是要缓存下来的。

下面就简单介绍几种 vue 路由缓存的几种方式。

1、全部缓存

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

直接用 keep-alive 标签包裹 router-view 标签就能缓存全部的页面了

2、缓存单个指定路由

<keep-alive include="该路由的name名称">
  <router-view></router-view>
</keep-alive>

同样直接用 keep-alive 标签包裹 router-view 标签,然后使用 include 指定需要缓存的页面的 name 名称

可以使用 v-bind 绑定一个 name 数组,也可用 ',' 隔开,也可使用正则表达式,多个的情况建议使用第三种

注意:是缓存页面的 name 名称,而不是缓存页面路由的 name 名称

3、缓存多个指定路由

<keep-alive>
  <router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>

使用两个 router-view 标签分别作为缓存和不缓存的路由出口,在路由配置的时候,只需要给要缓存的页面加上 meta 属性,然后添加 keepAlive 属性设置为 true 即可。例如:

{
 path:'/test',
 name:'Test',
 component: Test,
 meta: {keepAlive: true} //true缓存 false不缓存
}

四、activated和deactivated

activateddeactivated 这两个生命周期函数一定是要在使用了 keep-alive 组件后才会有的,否则则不存在。

当引入 keep-alive 的时候,页面第一次进入

钩子的触发顺序 created-> mounted -> activated,退出时触发deactivated。

当再次进入(前进或者后退)时,只触发 activated

注意:keep-alive里面紧跟包裹 router-view 组件,而不能出现其他标签,不然会导致无法缓存页面。

如果需要在路由不变的情况下,无白屏刷新页面,请参照前文:vue.js路由不变,无白屏刷新页面

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
javascript 子窗体父窗体相互传值方法
May 31 Javascript
获取3个数组不重复的值的具体实现
Dec 30 Javascript
使用jQuery时Form表单元素ID和name命名大忌
Mar 06 Javascript
基于javascript的JSON格式页面展示美化方法
Jul 02 Javascript
canvas 实现中国象棋
Feb 17 Javascript
javascript使用btoa和atob来进行Base64转码和解码
Mar 20 Javascript
JS判断一个数是否是水仙花数
Jun 11 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
Jan 23 Javascript
手淘flexible.js框架使用和源代码讲解小结
Oct 15 Javascript
微信小程序实现点击卡片 翻转效果
Sep 04 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
Jan 16 jQuery
vue项目中监听手机物理返回键的实现
Jan 18 Javascript
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 #Javascript
vue实现路由不变的情况下,刷新页面操作示例
Feb 02 #Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 #jQuery
基于node+vue实现简单的WebSocket聊天功能
Feb 01 #Javascript
基于vue和websocket的多人在线聊天室
Feb 01 #Javascript
node crawler如何添加promise支持
Feb 01 #Javascript
js 计算月/周的第一天和最后一天代码
Feb 01 #Javascript
You might like
PHP脚本的10个技巧(4)
2006/10/09 PHP
杏林同学录(七)
2006/10/09 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
php图片添加文字水印实现代码
2016/03/15 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
python从入门到精通(DAY 2)
2015/12/20 Python
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
Python解惑之True和False详解
2017/04/24 Python
Python处理Excel文件实例代码
2017/06/20 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
Django rest framework实现分页的示例
2018/05/24 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
护理自我鉴定范文
2013/10/06 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
大学生党员个人总结
2015/02/13 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
2016大学军训心得体会
2016/01/11 职场文书
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫