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 相关文章推荐
来自chinaz的ajax获取评论代码
May 03 Javascript
js 页面输出值
Nov 30 Javascript
Jquery节点遍历next与nextAll方法使用示例
Jul 22 Javascript
JavaScript数据类型之基本类型和引用类型的值
Apr 01 Javascript
js实现的下拉框二级联动效果
Apr 30 Javascript
解读Bootstrap v4 sass设计
May 29 Javascript
快速解决js中window.location.href不工作的问题
Nov 02 Javascript
bootstrap基础知识学习笔记
Nov 02 Javascript
Angular.js中控制器之间的传值详解
Apr 24 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
May 08 Javascript
原生js检测页面加载完毕的实例
Sep 11 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 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
解析左右值无限分类的实现算法
2013/06/20 PHP
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
功能强大的php分页函数
2016/07/20 PHP
php读取本地json文件的实例
2018/03/07 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
2010/06/21 Javascript
JS中Location使用详解
2015/05/12 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
微信小程序开发注意指南和优化实践(小结)
2019/06/21 Javascript
JS实现骰子3D旋转效果
2019/10/24 Javascript
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
国际象棋商店:The Chess Store
2018/07/09 全球购物
党员先锋岗事迹材料
2014/05/08 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
争先创优演讲稿
2014/09/15 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS