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的$getjson调用并获取远程的JSON字符串问题
Dec 10 Javascript
Jquery获取复选框被选中值的简单方法
Jul 04 Javascript
JQuery.get提交页面不跳转的解决方法
Jan 13 Javascript
JavaScript实现点击文字切换登录窗口的方法
May 11 Javascript
JS动态给对象添加属性和值的实现方法
Oct 21 Javascript
JS公共小方法之判断对象是否为domElement的实例
Nov 25 Javascript
微信分享调用jssdk实例
Jun 08 Javascript
Vue2.0 多 Tab切换组件的封装实例
Jul 28 Javascript
iView-admin 动态路由问题的解决方法
Oct 03 Javascript
JavaScript惰性求值的一种实现方法示例
Jan 11 Javascript
wx-charts 微信小程序图表插件的具体使用
Aug 18 Javascript
js 数组当前行添加数据方法详解
Jul 28 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
MySQL数据源表结构图示
2008/06/05 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
浅析php单例模式
2014/11/25 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
jQuery实现的动态伸缩导航菜单实例
2015/05/07 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
[01:19:46]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第一场 2月28日
2021/03/11 DOTA
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
分析python请求数据
2018/08/19 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
电子狗项圈:eDog Australia
2019/12/04 全球购物
高校自主招生自荐信
2013/12/09 职场文书
交通事故调解协议书
2015/05/20 职场文书
检讨书范文
2019/04/16 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python
JS实现简单九宫格抽奖
2022/06/28 Javascript
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript