VUE keepAlive缓存问题之动态使用exclude(会使用到VUEX)
exclude是啥?
官方解释:

怎么用呢?
处理的问题是什么?(答:返回首页的时候清除B页面的缓存)
我遇到的问题是:
一开始状态:A(首页)、 B(列表)、C(列表中的详情)三个页面,设置B页面的keepAlive为true;
操作顺序:A=》B(1)=》C=》B=》A=》B=》 C=》B(4)
此时,最后一个B(4)页面出现了B(2)中的缓存数据?(bug)
可是我已经清除缓存了,为啥还会这样?
处理方法:
(1)使用vueX存储全局变量;
store.js
1 import Vue from 'vue';
2 import Vuex from 'vuex';
3 import user from './store/user.js'
4 Vue.use(Vuex);
5
7 export default new Vuex.Store({
8 modules: {
9 user
10 },
11 state: {
12 excludeXjlistpage:""
13 },
14 mutations: {
15 changeExclude(state,data){
16 state.excludePage= data ;//data就是需要清除缓存的页面的name
17 }
18 },
19 });
APP.vue
<template>
<div>
<keep-alive :exclude="this.$store.state.excludePage">
<router-view v-if="$route.meta.keepAlive" ></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>
</div>
</template>
B页面
1 beforeRouteEnter(to, from, next) {
2 next((vm) => {
3 if(from.name == "A页面name"){
4 vm.$store.commit('changeExclude','')//changeExclude是事件,''是传进去的参数,store.js中的data
5 }
6 });
7 },
8 beforeRouteLeave(to, from, next) {
9 if (to.name == "A页面name") {
10 this.$store.commit('changeExclude','B页面的name')
11 }
12 next();
13 },
别忘了在router.js中设置keepAlive为true
记录一下花了我好久好久四处询问总结处理的问题,希望也对你有帮助.
VUE keepAlive缓存问题之动态使用exclude(会使用到VUEX)的更多相关文章
- vue keep-alive缓存问题
搬运自:https://blog.csdn.net/dongguan_123/article/details/80910231 我的问题:列表页 > 详情页a > 支付页 > ...
- vue单页应用中 返回列表记住上次滚动位置、keep-alive缓存之后更新列表数据 那点事
实践场景需求 产品列表中,滚动到一定位置的时候,点击查看产品信息,后退之后,需要回到原先的滚动位置,这是常见的需求 所有页面均在router-view中,暂时使用了keep-alive来缓存所有页面, ...
- 示例vue 的keep-alive缓存功能的实现
本篇文章主要介绍了vue 的keep-alive缓存功能的实现,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. Vue 实现组件信息的缓存 当我们 ...
- keep-alive vue组件缓存避免多次加载相应的组件
keep-alive vue组件缓存避免多次加载相应的组件
- vue keep-alive 不生效和多级(三级以上)缓存失败
vue keep-alive https://cn.vuejs.org/v2/api/#keep-alive keep-alive 不生效的可能原因 如果安装官方的写法,已经正常完成keep-aliv ...
- Vue keep-alive的总结
1.基本用法 vue2.0提供了一个keep-alive组件用来缓存组件,避免多次加载相应的组件,减少性能消耗. <keep-alive> <component> <!- ...
- vue & keep-alive & activated
vue & keep-alive & activated vue 生命周期 钩子函数 缓存 http://www.cnblogs.com/nekoooo/p/6442077.html ...
- ARP缓存记录种类动态条目和静态条目
ARP缓存记录种类动态条目和静态条目 为使广播量最小,ARP维护IP地址到MAC地址映射的缓存以便将来使用.根据缓存的有效期时间,ARP缓存中包含动态和静态条目本文选自ARP协议全面实战手册. 这里首 ...
- vue keep-alive 实现详情返回列表保留页面数据
实现功能 详情页返回列表页,列表页保留上次浏览位置 其它页面进入到列表表,列表页刷新 当详情页有数据改变时,列表页也要更新该条数据 实现思路 用keep-alive保留列表页面数据 activated ...
- vue获得当前页面URL动态拼接URL复制邀请链接方法
vue获得当前页面URL动态拼接URL复制邀请链接方法 当前页面完整url可以用 location.href路由路径可以用 this.$route.path路由路径参数 this.$route.par ...
随机推荐
- A、创建模式(5种)
设计模式的分类总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式. ...
- vue v-if不生效
正确写法 <block v-for="(item, index) in imgArray"> <image :src="item" class ...
- 苹果手机备份及itunes下载更新路径
1.itunes备份路径: C:\Users\xxx.xxx\AppData\Roaming\Apple Computer\MobileSync\Backup\ 2.itunes更新IOS路径: C: ...
- JavaScript 基础学习(一)
JavaScript基础学习(一) 一.JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件 ...
- net6 - System.ComponentModel.DataAnnotations Attribute
using System; using System.Web.DynamicData; using System.ComponentModel.DataAnnotations; [MetadataTy ...
- 维纳攻击 wiener attack
维纳攻击 wiener attack 目录 维纳攻击 wiener attack 攻击条件 使用原理 十三届全国大学生网络安全竞赛 bd 分析 解答 [羊城杯 2020]rrrrrsa (wiener ...
- 理解函数调用_arguments对象作为函数参数的别名
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python中的容器、迭代器、生成器
容器是一系列元素的集合,str.list.set.dict.file.sockets对象都可以看作是容器,容器都可以被迭代(用在for,while等语句中),因此他们被称为可迭代对象. 可迭代对象实现 ...
- centos-7实现批量ping
批量ping 脚本 新接手了一个项目,10多个网段,500多机器,看自己机器可以连上多少服务器,一个个ping不符合我们的作风,因此百度了下大神的脚本,按自己的风格修改了,于是有了如下的脚本. 脚本如 ...
- MySQL8.0的下载、安装、配置
转1: MySQL8.0的下载.安装.配置 MySQL8安装教程(下载.安装.连接.卸载) Navicat Premium 15激活(含注册机)