vue内置组件keep-alive事件动态缓存实例


Posted in Javascript onOctober 30, 2020

在App.vue文件中配置

<keep-alive>
   <router-view v-if="$route.meta.keepAlive"></router-view>
  </keep-alive>
  <router-view v-if="!$route.meta.keepAlive"></router-view>

在路由中配置

{
    path: '/backstage',
    component: resolve => require(['@/views/backstage/my'], resolve),
    meta: { keepAlive: false }
  },
  {
    path: '/backstage/info',
    component: resolve => require(['@/views/backstage/my/info'], resolve),
    meta: { keepAlive: false }
  },

在页面中利用 beforeRouteLeave 动态处理

export default {
  data() {
    return {};
  },
  methods: {},
  beforeRouteLeave(to, from, next) {
    // 设置下一个路由的 meta
    to.meta.keepAlive = false; // 不缓存
    // to.meta.keepAlive = true; // 缓存
    next();
  }
};

补充知识:vue使用keep-alive后watch事件不销毁解决方案

使用了keep-alive动态缓存页面之后,有一些很难解决的问题:

每个页面里面设置的watch监听事件,如果监听了路由的变化或者vuex的变化,在切换页面的时候watch不会被销毁,导致下一个页面重复触发上一个watch监听的对象,重复请求接口。

解决方案:

定义一个全局 mixin.js

export const mixin = {
 data () {
  return {
   activatedFlag: false
  };
 },
 mounted () {
  this.activatedFlag = true;
 },
 activated () {
  this.activatedFlag = true;
 },
 deactivated () {
  this.activatedFlag = false;
 }
};

在使用keep-alive缓存的页面引入mixin

vue内置组件keep-alive事件动态缓存实例

防止在非当前页面重复触发keep-alive缓存页面的方法

vue内置组件keep-alive事件动态缓存实例

以上这篇vue内置组件keep-alive事件动态缓存实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现ASP分页函数 HTML分页函数
Sep 22 Javascript
javascript编程起步(第四课)
Feb 27 Javascript
使用正则替换变量
May 05 Javascript
GreyBox技术总结(转)
Nov 23 Javascript
jQuery on方法传递参数示例
Dec 09 Javascript
JS实现兼容性较好的随屏滚动效果
Nov 09 Javascript
JS获取文件大小方法小结
Dec 08 Javascript
js去字符串前后空格的实现方法
Feb 26 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
Jan 12 Javascript
JavaScript的数据类型转换原则(干货)
Mar 15 Javascript
element-ui多文件上传的实现示例
Apr 10 Javascript
vue登录以及权限验证相关的实现
Oct 25 Javascript
Javascript表单序列化原理及实现代码详解
Oct 30 #Javascript
解决Vue-cli无法编译es6的问题
Oct 30 #Javascript
Vue2.0 ES6语法降级ES5的操作
Oct 30 #Javascript
Vue自定义表单内容检查rules实例
Oct 30 #Javascript
探索node之事件循环的实现
Oct 30 #Javascript
使用TS来编写express服务器的方法步骤
Oct 29 #Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
Oct 29 #Javascript
You might like
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
2017/04/03 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
bootstrap网页框架的使用方法
2016/05/10 Javascript
AngularJs bootstrap搭载前台框架——准备工作
2016/09/01 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
python 将字符串转换成字典dict
2013/03/24 Python
python中二维阵列的变换实例
2014/10/09 Python
python打开文件并获取文件相关属性的方法
2015/04/23 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
python删除过期log文件操作实例解析
2018/01/31 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
python爬取网页转换为PDF文件
2018/06/07 Python
python3中函数参数的四种简单用法
2018/07/09 Python
python图像处理入门(一)
2019/04/04 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
人力资源管理专业应届生求职信
2014/04/24 职场文书
欢送领导祝酒词
2015/08/12 职场文书
服务行业标语口号
2015/12/26 职场文书
话题作文之成长
2019/12/09 职场文书
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL