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 Aajx访问WCF服务(GET、POST、PUT、DELETE)
Mar 16 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
Oct 29 Javascript
JavaScript实现QueryString获取GET参数的方法
Jul 02 Javascript
JavaScript拆分字符串时产生空字符的解决方案
Sep 26 Javascript
node.js中的fs.fchown方法使用说明
Dec 16 Javascript
Bootstrap每天必学之表单
Nov 23 Javascript
jQuery解决$符号命名冲突
Jun 18 Javascript
如何在JavaScript中优雅的提取循环内数据详解
Mar 04 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
Aug 04 Javascript
javascript实现简易数码时钟
Mar 30 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 Vue.js
Vue3.0 手写放大镜效果
Jul 25 Vue.js
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的优点总结 php有哪些优点
2019/07/19 PHP
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
javascript 原型链维护和继承详解
2014/11/26 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
vue实现扫码功能
2020/01/17 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Django1.7+python 2.78+pycharm配置mysql数据库教程
2014/11/18 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
python pandas库的安装和创建
2019/01/10 Python
python实现移位加密和解密
2019/03/22 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
Python 创建TCP服务器的方法
2020/07/28 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
python中的插入排序的简单用法
2021/01/19 Python
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
人事主管岗位职责
2014/01/30 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
委托书的样本
2015/01/28 职场文书
Python实现自动玩连连看的脚本分享
2022/04/04 Python
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技