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 相关文章推荐
文本框中,回车键触发事件的js代码[多浏览器兼容]
Jun 07 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
Jan 10 Javascript
javascript计算星座属相(十二生肖属相)示例代码
Jan 09 Javascript
实现音乐播放器的代码(html5+css3+jquery)
Aug 04 Javascript
JS hashMap实例详解
May 26 Javascript
javascript用正则表达式过滤空格的实现代码
Jun 14 Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
Apr 26 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
May 21 Javascript
layui插件表单验证提交触发提交的例子
Sep 09 Javascript
过滤器vue.filters的使用方法实现
Sep 18 Javascript
ES6如何用一句代码实现函数的柯里化
Jan 18 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中使用灵巧的体系结构
2006/10/09 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
JS中的substring和substr函数的区别说明
2013/05/07 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
浅谈webpack编译vue项目生成的代码探索
2017/12/11 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
Python实现k-means算法
2018/02/23 Python
python之pandas用法大全
2018/03/13 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
Python中如何导入类示例详解
2019/04/17 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
python3 配置logging日志类的操作
2020/04/08 Python
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
英国HYPE双肩包官网:英国本土时尚潮牌
2018/09/26 全球购物
文员岗位职责
2013/11/09 职场文书
质量工程师岗位职责
2013/11/16 职场文书
幼儿园教师工作制度
2014/01/22 职场文书
高三霸气励志标语
2014/06/24 职场文书
应用外语系自荐信
2014/06/26 职场文书
离职证明范本(5篇)
2014/09/19 职场文书