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 ...
随机推荐
- git命令,回滚上一个版本,回滚n个版本,撤销回滚
1 回滚到上一个版本 git checkout . :add之前的回滚 git reset --hard:add之后,commit之前 git reset --hard origin/test:com ...
- Vue项目的打包方式(生成dist文件)
一.相关配置情况一(使用的工具是 vue-cil) 如果是用 vue-cli 创建的项目,则项目目录中没有 config 文件夹,所以我们需要自建一个配置文件:在根目录 src 下创建文件 vue.c ...
- Windows 10更新报错 0x8000ffff
Windows 10更新报错 0x8000ffff - Microsoft Community 那么您可用 "Windows 10 覆盖安装" 来修复,可参考以下步伐,连接里有视频 ...
- JMETHOD
#include <iostream> #define JMETHOD(type,methodname,arglist) type (*methodname) arglist JMETHO ...
- password_encryption_type 和 pg_hba.conf 不匹配导致用户连不上
# 问题概述xxx客户新上一套opengauss数据库,在测试中用户输入正确的密码,提示用户密码错误,导致用户被锁# 问题原因password_encryption_type 和 pg_hba.con ...
- CF1067E 题解
题意 传送门 给定一棵 \(n\) 个节点的树,每条边有 \(\frac{1}{2}\) 的概率出现,可以得到一个森林,求这个森林邻接矩阵的秩的期望. \(1\le n\le5\times10^5\) ...
- VEU开发之element-ui中关闭dialog时并销毁
el-dialog正常使用过程中,经常会发现一些问题,就是dialog加载的组件,每次打开都会有上次的内容,其实是加载到节点未被删除,只是反复隐藏/显示. <el-button type=&qu ...
- wxPython绘图API
简单介绍一个Pthon的绘图库wxPython. GDI+(图形绘制接口),CoreGraphics和Cairo库形成wxPython绘图API的框架.wx.GraphicsContext是主要绘制对 ...
- el-dialog 嵌套子组件数据不刷新
<!-- 展示通道测量值 --> <el-dialog :title="analogTitle" :visible.sync="analogOp ...
- 【linux】grep命令检索大批量日志中的堆栈日志
记得3年前,我为了查看100M日志文件里面的错误堆栈信息,百度了许久都毫无结果 没想到今天再次百度时,一下子看到了grep -A 命令,激动不已. 原来只需要用, grep -A 100 'KeyWo ...