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 异步调用框架 (Part 4 - 链式调用)
Aug 04 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
Nov 21 Javascript
jQuery中实现动画效果的基本操作介绍
Apr 16 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
jQuery旋转木马式幻灯片轮播特效
Dec 04 Javascript
浅谈Node.js:Buffer模块
Dec 05 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
Mar 09 Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 Javascript
Vue动态组件与异步组件实例详解
Feb 23 Javascript
node.js ws模块搭建websocket服务端的方法示例
Apr 25 Javascript
jquery实现手风琴案例
May 04 jQuery
antd日期选择器禁止选择当天之前的时间操作
Oct 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
php zip文件解压类代码
2009/12/02 PHP
PHP Error与Logging函数的深入理解
2013/06/03 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
详解PHP中的Traits
2015/07/29 PHP
php中使用websocket详解
2016/09/23 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
重载toString实现JS HashMap分析
2011/03/13 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
详解angularjs中如何实现控制器和指令之间交互
2017/05/31 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
Vue实现日历小插件
2019/06/26 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
js实现全选和全不选
2020/07/28 Javascript
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
python3抓取中文网页的方法
2015/07/28 Python
CSS3用@font-face实现自定义英文字体
2013/09/23 HTML / CSS
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
医学院校毕业生自荐信范文
2014/01/01 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
中餐厅经理岗位职责
2014/04/11 职场文书
学习教师法的心得体会
2014/09/03 职场文书
师范生见习自我总结
2015/06/23 职场文书
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS