Vue2.0 实现页面缓存和不缓存的方式


Posted in Javascript onNovember 12, 2019

1、在app中设置需要缓存的div

<keep-alive>//缓存的页面
  <router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>//不缓存的页面

2、在路由router.js中设置.vue页面是否需要缓存

{
  path: '/home',
  component: home,
  meta: { keepAlive: true },//当前的.vue文件需要缓存
},
{
  path: '/notice',
  component: notice,//当前页面不需要缓存
}

3、从缓存页面跳转到不缓存页面,或者从不缓存页面跳转到缓存页面的时候,会发现watch是不能监听路由的,是因为缓存和不缓存页面分别在不同的div里面,一个div里面是不可能监听到另一个div的路由的,所有需要把监听的路由都加上缓存(在路由添加 meta: { keepAlive: true }),路由在缓存页面之间进行跳转的时候,就可以通过监听路由来进行判断数据是否需要更新。

vue keep-alive 缓存后, 进入缓存页需要再次更新

beforeRouteEnter (to, from, next) {
 next (vm => {
   vm.getData()
 })
},
 mounted: function () {
  this.getData()
}

keep-alive 数据更新问题

在项目中使用<keep-alive>包含<router-view>实现页面缓存,加速页面加载,

同时,这种方式带来一些弊端,请看如下大神解释:

****************************************************************************

当引入keep-alive的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activated,退出时触发deactivated。

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

****************************************************************************

这就带来一个问题,之前在项目中使用mounted在页面加载时获取数据,使用<keep-alive>后方法不再生效,

根据上面的解释,将mounted替换为activated即可。

以上这篇Vue2.0 实现页面缓存和不缓存的方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript获取当前ip的代码
May 10 Javascript
JavaScript 语言的递归编程
May 18 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
Jun 11 Javascript
js模拟类继承小例子
Jul 17 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
Oct 23 Javascript
table insertRow、deleteRow定义和用法总结
May 14 Javascript
教你如何使用node.js制作代理服务器
Nov 26 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
Oct 28 Javascript
js禁止浏览器页面后退功能的实例(推荐)
Sep 01 Javascript
JS使用tofixed与round处理数据四舍五入的区别
Oct 25 Javascript
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
javascript 设计模式之组合模式原理与应用详解
Apr 08 Javascript
Vue页面切换和a链接的本质区别详解
Nov 12 #Javascript
vue 中几种传值方法(3种)
Nov 12 #Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 12 #Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
Nov 12 #Javascript
vue.js 实现a标签href里添加参数
Nov 12 #Javascript
VUEX 数据持久化,刷新后重新获取的例子
Nov 12 #Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
Nov 12 #Javascript
You might like
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
PHP开发APP端微信支付功能
2017/02/17 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
js获取当前页面的url网址信息
2014/06/12 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
Node.js 多线程完全指南总结
2019/03/27 Javascript
js实现内置计时器
2019/12/16 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
python将图片文件转换成base64编码的方法
2015/03/14 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
Tesserocr库的正确安装方式
2018/10/19 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
2014年教研活动总结范文
2014/04/26 职场文书
质量负责人任命书
2014/06/06 职场文书
英语专业求职信
2014/07/08 职场文书
2014年生产部工作总结
2014/12/17 职场文书
北京颐和园导游词
2015/01/30 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server