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 相关文章推荐
获取表单控件原始(初始)值的方法
Aug 21 Javascript
JavaScript拆分字符串时产生空字符的解决方案
Sep 26 Javascript
javascript 操作符(~、&amp;、|、^、)使用案例
Dec 31 Javascript
JavaScript学习笔记之Function对象
Jan 22 Javascript
JS判断当前页面是否在微信浏览器打开的方法
Dec 08 Javascript
微信小程序 wx:key详细介绍
Oct 28 Javascript
js与jquery分别实现tab标签页功能的方法
Nov 18 Javascript
js实现简单的获取验证码按钮效果
Mar 03 Javascript
详解微信小程序设置底部导航栏目方法
Jun 29 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
js+html5 canvas实现ps钢笔抠图
Apr 28 Javascript
vue+vant实现商品列表批量倒计时功能
Jan 13 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中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
javascript常用方法总结
2015/05/14 Javascript
如何实现JavaScript动态加载CSS和JS文件
2020/12/28 Javascript
跟我学习javascript的基本类型和引用类型
2015/11/16 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
解决Python selenium get页面很慢时的问题
2019/01/30 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
外贸公司实习自我鉴定
2013/09/24 职场文书
饮料业务员岗位职责
2013/12/15 职场文书
教学个人的自我评价分享
2014/02/16 职场文书
党员创先争优公开承诺书
2014/03/28 职场文书
大学生就业意向书范文
2014/04/01 职场文书
副护士长竞聘演讲稿
2014/04/30 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
2014年部门工作总结
2014/11/12 职场文书
大学生村官个人总结
2015/02/15 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
56句经典英文座右铭
2019/08/09 职场文书
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python