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的read函数与js的onload不同方式实现
Mar 18 Javascript
js关闭父窗口时关闭子窗口
Apr 01 Javascript
教你在heroku云平台上部署Node.js应用
Jul 30 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
jQuery自定义数值抽奖活动代码
Jun 11 Javascript
JavaScript中日期函数的相关操作知识
Aug 03 Javascript
jQuery弹出层插件popShow用法示例
Jan 23 Javascript
webpack学习--webpack经典7分钟入门教程
Jun 28 Javascript
vue 怎么创建组件及组件使用方法
Jul 27 Javascript
微信小程序使用wxParse解析html的方法教程
Jul 06 Javascript
使用taro开发微信小程序遇到的坑总结
Apr 08 Javascript
vue自定义指令和动态路由实现权限控制
Aug 28 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中执行系统外部命令
2006/10/09 PHP
用PHP 快速生成 Flash 动画的方法
2007/03/06 PHP
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
node.js基础知识汇总
2020/08/25 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
深入了解Python数据类型之列表
2016/06/24 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
python实现五子棋人机对战游戏
2020/03/25 Python
Python Merge函数原理及用法解析
2020/09/16 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
销售代表求职自荐信
2013/10/01 职场文书
国际政治个人自荐信范文
2013/11/26 职场文书
我的求职计划书
2014/01/10 职场文书
物理研修随笔感言
2014/02/14 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
纪律委员竞选稿
2015/11/19 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis
新手入门Mysql--sql执行过程
2021/06/20 MySQL