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 幻灯片的实现
Dec 06 Javascript
读取input:file的路径并显示本地图片的方法
Sep 23 Javascript
JS对文本框值的判断示例
Mar 10 Javascript
JQuery实现超链接鼠标提示效果的方法
Jun 10 Javascript
浅析jquery unbind()方法移除元素绑定的事件
May 24 Javascript
Bootstrap 附加导航(Affix)插件实例详解
Jun 01 Javascript
原生js实现中奖信息无间隙滚动效果
Jan 18 Javascript
详解easyui 切换主题皮肤
Apr 04 Javascript
百度小程序自定义通用toast组件
Jul 17 Javascript
extjs图形绘制之饼图实现方法分析
Mar 06 Javascript
详解JavaScript中new操作符的解析和实现
Sep 04 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 jQuery
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
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
vue router 通过路由来实现切换头部标题功能
2019/04/24 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
vue实现拖拽效果
2019/12/23 Javascript
原生js实现html手机端城市列表索引选择城市
2020/06/24 Javascript
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
跟老齐学Python之for循环语句
2014/10/02 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
Django REST framework视图的用法
2019/01/16 Python
Python面向对象进阶学习
2019/05/21 Python
python selenium自动化测试框架搭建的方法步骤
2020/06/14 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
应届生会计求职信
2013/11/11 职场文书
顶碗少年教学反思
2014/02/21 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
党支部季度考核意见
2015/06/02 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python