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)的更多相关文章

  1. vue keep-alive缓存问题

    搬运自:https://blog.csdn.net/dongguan_123/article/details/80910231 我的问题:列表页  > 详情页a  > 支付页  >  ...

  2. vue单页应用中 返回列表记住上次滚动位置、keep-alive缓存之后更新列表数据 那点事

    实践场景需求 产品列表中,滚动到一定位置的时候,点击查看产品信息,后退之后,需要回到原先的滚动位置,这是常见的需求 所有页面均在router-view中,暂时使用了keep-alive来缓存所有页面, ...

  3. 示例vue 的keep-alive缓存功能的实现

    本篇文章主要介绍了vue 的keep-alive缓存功能的实现,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. Vue 实现组件信息的缓存 当我们 ...

  4. keep-alive vue组件缓存避免多次加载相应的组件

    keep-alive vue组件缓存避免多次加载相应的组件

  5. vue keep-alive 不生效和多级(三级以上)缓存失败

    vue keep-alive https://cn.vuejs.org/v2/api/#keep-alive keep-alive 不生效的可能原因 如果安装官方的写法,已经正常完成keep-aliv ...

  6. Vue keep-alive的总结

    1.基本用法 vue2.0提供了一个keep-alive组件用来缓存组件,避免多次加载相应的组件,减少性能消耗. <keep-alive> <component> <!- ...

  7. vue & keep-alive & activated

    vue & keep-alive & activated vue 生命周期 钩子函数 缓存 http://www.cnblogs.com/nekoooo/p/6442077.html ...

  8. ARP缓存记录种类动态条目和静态条目

    ARP缓存记录种类动态条目和静态条目 为使广播量最小,ARP维护IP地址到MAC地址映射的缓存以便将来使用.根据缓存的有效期时间,ARP缓存中包含动态和静态条目本文选自ARP协议全面实战手册. 这里首 ...

  9. vue keep-alive 实现详情返回列表保留页面数据

    实现功能 详情页返回列表页,列表页保留上次浏览位置 其它页面进入到列表表,列表页刷新 当详情页有数据改变时,列表页也要更新该条数据 实现思路 用keep-alive保留列表页面数据 activated ...

  10. vue获得当前页面URL动态拼接URL复制邀请链接方法

    vue获得当前页面URL动态拼接URL复制邀请链接方法 当前页面完整url可以用 location.href路由路径可以用 this.$route.path路由路径参数 this.$route.par ...

随机推荐

  1. A、创建模式(5种)

    设计模式的分类总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式. ...

  2. vue v-if不生效

    正确写法 <block v-for="(item, index) in imgArray"> <image :src="item" class ...

  3. 苹果手机备份及itunes下载更新路径

    1.itunes备份路径: C:\Users\xxx.xxx\AppData\Roaming\Apple Computer\MobileSync\Backup\ 2.itunes更新IOS路径: C: ...

  4. JavaScript 基础学习(一)

    JavaScript基础学习(一) 一.JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件 ...

  5. net6 - System.ComponentModel.DataAnnotations Attribute

    using System; using System.Web.DynamicData; using System.ComponentModel.DataAnnotations; [MetadataTy ...

  6. 维纳攻击 wiener attack

    维纳攻击 wiener attack 目录 维纳攻击 wiener attack 攻击条件 使用原理 十三届全国大学生网络安全竞赛 bd 分析 解答 [羊城杯 2020]rrrrrsa (wiener ...

  7. 理解函数调用_arguments对象作为函数参数的别名

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Python中的容器、迭代器、生成器

    容器是一系列元素的集合,str.list.set.dict.file.sockets对象都可以看作是容器,容器都可以被迭代(用在for,while等语句中),因此他们被称为可迭代对象. 可迭代对象实现 ...

  9. centos-7实现批量ping

    批量ping 脚本 新接手了一个项目,10多个网段,500多机器,看自己机器可以连上多少服务器,一个个ping不符合我们的作风,因此百度了下大神的脚本,按自己的风格修改了,于是有了如下的脚本. 脚本如 ...

  10. MySQL8.0的下载、安装、配置

    转1: MySQL8.0的下载.安装.配置 MySQL8安装教程(下载.安装.连接.卸载) Navicat Premium 15激活(含注册机)