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 操作iframe的几种方法总结
Dec 13 Javascript
什么是 AngularJS?AngularJS简介
Dec 06 Javascript
js实现仿爱微网两级导航菜单效果代码
Aug 31 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
Jun 17 Javascript
JS实现列表的响应式排版(推荐)
Sep 01 Javascript
vue.js+boostrap项目实践(案例详解)
Sep 21 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
Dec 01 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
在Vant的基础上封装下拉日期控件的代码示例
Dec 05 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
Apr 04 jQuery
原生javascript自定义input[type=radio]效果示例
Aug 27 Javascript
VScode格式化ESlint方法(最全最好用方法)
Sep 10 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
php中使用base HTTP验证的方法
2015/04/20 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
JQuery与iframe交互实现代码
2009/12/24 Javascript
js或css实现滚动广告的几种方案
2010/01/28 Javascript
JavaScript 基本概念
2015/01/20 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
深入浅析JS Function()构造函数
2016/08/22 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
python多重继承新算法C3介绍
2014/09/28 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
2018/10/11 Python
python中wheel的用法整理
2020/06/15 Python
如何用Python徒手写线性回归
2021/01/25 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
HTML5中的拖放实现详解
2017/08/23 HTML / CSS
计算机专业应届毕业生自荐信
2013/09/26 职场文书
高三政治教学反思
2014/02/06 职场文书
高中生学期学习自我评价
2014/02/24 职场文书
公务员平时考核实施方案
2014/03/11 职场文书
公司副总经理任命书
2014/06/05 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
2015年底工作总结范文
2015/05/15 职场文书
环保宣传语大全
2015/07/13 职场文书
Python中的 Set 与 dict
2022/03/13 Python