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 相关文章推荐
jquery JSON的解析方式
Jul 25 Javascript
防止xss和sql注入:JS特殊字符过滤正则
Apr 18 Javascript
JavaScript常用小技巧小结
Dec 29 Javascript
JavaScript 数组中最大最小值
Jun 05 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
Nov 21 Javascript
9种改善AngularJS性能的方法
Nov 28 Javascript
bootstrap下拉框动态赋值方法
Aug 10 Javascript
详解npm 配置项registry修改为淘宝镜像
Sep 07 Javascript
关于React动态加载路由处理的相关问题
Jan 07 Javascript
详解vue后台系统登录态管理
Apr 02 Javascript
Javascript读取上传文件内容/类型/字节数
Apr 30 Javascript
Vue3.0数据响应式原理详解
Oct 09 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
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
OfflineSave离线保存代码再次发布使用说明
2007/05/23 Javascript
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
2011/05/06 Javascript
javascript中关于&amp;&amp; 和 || 表达式的小技巧分享
2015/04/10 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
webpack的CSS加载器的使用
2018/09/11 Javascript
详解jquery和vue对比
2019/04/16 jQuery
layui-select动态选中值的例子
2019/09/23 Javascript
Python实现二分法算法实例
2015/02/02 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
python实现图片压缩代码实例
2019/08/12 Python
python list多级排序知识点总结
2019/10/23 Python
深入浅析python的第三方库pandas
2020/02/13 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
Django 5种类型Session使用方法解析
2020/04/29 Python
在python image 中实现安装中文字体
2020/05/16 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
Python偏函数实现原理及应用
2020/11/20 Python
Python创建自己的加密货币的示例
2021/03/01 Python
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
户籍证明格式
2014/09/15 职场文书
无刑事犯罪记录证明范本
2014/09/29 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL