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让IE浏览器event对象符合W3C DOM标准
Nov 24 Javascript
jquery异步请求实例代码
Jun 21 Javascript
javascript创建createXmlHttpRequest对象示例代码
Feb 10 Javascript
JS阻止用户多次提交示例代码
Mar 26 Javascript
jQuery实现图片向左向右切换效果的简单实例
May 18 Javascript
bootstrap模态框实现拖拽效果
Dec 14 Javascript
微信小程序动态显示项目倒计时效果
Jun 13 Javascript
认识less和webstrom的less配置方法
Aug 02 Javascript
世界上最短的数字判断js代码
Sep 09 Javascript
基于vue-cli3和element实现登陆页面
Nov 13 Javascript
KnockoutJS数组比较算法实例详解
Nov 25 Javascript
vue 自定义的组件绑定点击事件
Apr 21 Vue.js
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
yii框架redis结合php实现秒杀效果(实例代码)
2017/10/26 PHP
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
js取得url地址参数实例
2013/02/22 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
javascript类型系统_正则表达式RegExp类型详解
2016/06/24 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
python中的__slots__使用示例
2015/02/26 Python
深入理解Python3 内置函数大全
2017/11/23 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
Python使用reportlab模块生成PDF格式的文档
2019/03/11 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
海量信息软件测试笔试题
2015/08/08 面试题
应届毕业生求职信范文分享
2013/12/26 职场文书
职业生涯规划书前言
2014/04/15 职场文书
2014年维稳工作总结
2014/11/18 职场文书
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android