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 相关文章推荐
JQuery中的ready函数冲突的解决方法
May 17 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
Nov 15 Javascript
JS运动基础框架实例分析
Mar 03 Javascript
jquery对象和DOM对象的相互转换详解
Oct 18 Javascript
微信小程序开发(二)图片上传+服务端接收详解
Jan 11 Javascript
angular实现商品筛选功能
Feb 01 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
Mar 17 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
Jan 18 Javascript
微信小程序封装分享与分销功能过程解析
Aug 13 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
Nov 04 Javascript
浅析vue中的provide / inject 有什么用处
Nov 10 Javascript
vue data引入本地图片的两种方式小结
Nov 13 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
基于jQuery的js分页代码
2010/06/10 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
python时间整形转标准格式的示例分享
2014/02/14 Python
python中dir函数用法分析
2015/04/17 Python
详解在Python程序中使用Cookie的教程
2015/04/30 Python
Python语法快速入门指南
2015/10/12 Python
Python random模块用法解析及简单示例
2017/12/18 Python
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
python读取LMDB中图像的方法
2018/07/02 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
Python的形参和实参使用方式
2019/12/24 Python
python算的上脚本语言吗
2020/06/22 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
加入学生会演讲稿
2014/04/24 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
python周期任务调度工具Schedule使用详解
2021/11/23 Python
DE1107机评
2022/04/05 无线电