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 相关文章推荐
JQuery的一些小应用收集
Mar 27 Javascript
js下写一个事件队列操作函数
Jul 19 Javascript
jquery获取tr中控件值并操作tr实现思路
Mar 27 Javascript
固定网页背景图同时保持图片比例的思路代码
Aug 15 Javascript
使用js实现关闭js弹出层的窗口
Feb 10 Javascript
用javascript关闭本窗口不弹出询问框的方法
Sep 12 Javascript
node.js中的http.response.getHeader方法使用说明
Dec 14 Javascript
javascript 动态创建表格的2种方法总结
Mar 04 Javascript
js去除浏览器默认底图的方法
Jun 08 Javascript
在js中实现邮箱格式的验证方法(推荐)
Oct 24 Javascript
Vue页面跳转动画效果的实现方法
Sep 23 Javascript
js实现贪吃蛇游戏(简易版)
Sep 29 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
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
php实现加减法验证码代码
2014/02/14 PHP
一个经典实用的PHP图像处理类分享
2014/11/18 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
再探JavaScript作用域
2014/09/24 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
vue 优化CDN加速的方法示例
2018/09/19 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
Python实现网站表单提交和模板
2019/01/15 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
你们项目是如何进行变更控制的
2015/08/26 面试题
求职简历自荐信范文
2013/10/21 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
英语教师求职信
2014/06/16 职场文书
股份合作协议书
2014/09/10 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python