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 ...
随机推荐
- MySQL升级5.7.29
采用卸载后升级的方式 参考:https://blog.csdn.net/liu_dong_mei_mei/article/details/104010567 1.卸载原有的MySQL: 之前是wind ...
- mac os 11 Big Sur 根目录无法写入解决办法
本文目的是解决无法在 / 目录下创建目录的问题: 关闭SIP 重启机器,按住 command + R 选择 磁盘工具 在导航栏 窗口 中打开 终端 ,执行如下命令: csrutil status ## ...
- linux清除恶意程序流程-kdevtmpfsi清除
TOP命令查看发现kdevtmpfsi进程跑满CPU, 处理如下: 解决过程 1.清除被新增的用户名和密码# 找到账户ID和权限组都是0跟root同级别的和不认识的, 删掉保存. more /va ...
- 在windows如何下载android源码
如链接https://blog.csdn.net/freekiteyu/article/details/70939672
- nginx: the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf
Nginx如果未开启SSL模块,配置Https时将提示如题错误 原因:nginx缺少http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就行了,但是现 ...
- HarmonyOS基础
目录 自适应布局 自适应拉伸布局 自适应缩放 自适应延伸 组件多态 ArkUI开发框架 基础组件 Text组件和Span组件 参考 参考:harmonyos3: 鸿蒙ArkUI eTS教程配套源码 参 ...
- STM32中HAL库和标准库的区别
转载自:https://www.lmonkey.com/t/RwykY8bBX STM32标准库与HAL库比较 ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL ...
- 牛客 二叉树中和为某一值的路径 【时间19ms】【内存9560k】
https://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca 构造函数:new ArrayList(al)把al的所有值复制到 ...
- wxPython绘图API
简单介绍一个Pthon的绘图库wxPython. GDI+(图形绘制接口),CoreGraphics和Cairo库形成wxPython绘图API的框架.wx.GraphicsContext是主要绘制对 ...
- bootstrap-treeview手动修改源码添加与后台交互的id
bootstrap-treeview中只有自增的参数data-nodeid,没有id的参数,不方便后台交互,修改源码添加id. 1.图一为添加的自定义的node.Id; 2. 下图为添加的id 3.后 ...