网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月16日
漏签
0
天
前端吧
关注:
224,085
贴子:
1,385,414
看贴
图片
吧主推荐
游戏
30
回复贴,共
1
页
<<返回前端吧
>0< 加载中...
keep-alive遇到的问题
只看楼主
收藏
回复
Vodka
英雄豪杰
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
配合keep-alive组件,做了一个头部页签的功能,即打开a菜单后,该菜单会被缓存下来,并有一个页签会显示在头部。现在是想要点击页签的删除后清楚该菜单的缓存。问题是keep-alive如何清除缓存
菜得让人发毛
四方游侠
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你看这个想法可不可行:通过keep- alive组件的include字段或者exclude字段去定制缓存的行为,为页签的删除按钮绑定事件,动态修改include/exclude字段的值。我试了一下,是可行的
莫丶欺
人海孤鸿
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
10年前遇到过keep-alive,不会刷新的问题。加不同的key就行了
尊贵的巫妖王
四方游侠
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
只有3楼说的那个方法,没找到其他方法,你可以去参考一下一些其他二次开发框架,里面有这个功能
暖の冰
江湖少侠
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你前年做过这种需求,用include去实现的,当时也踩了坑,具体哪些坑已经记不清了,反正感想是做缓存是真的烦,存容易,删麻烦
Vodka
英雄豪杰
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
但是非常奇怪的一点是我的很多组件用include写name的方式没有用。不知道为什么。而且万一存在大量匿名组件感觉include的也非常不适用。看了下keep-alive的源码在尝试直接清除keep-alive中的缓存的方式
叶里里
武林新贵
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
用store来缓存当前数据
小雨写立可白z
江湖少侠
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这个问题其实很简单,理解框架本身就很容易。vue的框架吧。更新视图是数据的收集依赖。而keepalive缓存应该是内存中的,也就是缓存的是vnode吧。如果你的依赖和vnode不变,保证keepalive的key不变,她应该有个缓存队列的。key存在就会缓存。也就是你想删除删除他cache队列的key。我是提供给你原理思路。实现和业务你自己想想。这些数据一定都会绑定在原型上,并且可以拿到,有对应的api。你找找。
kaneizikkk
初涉江湖
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
楼上那个解决方案好像就可以了。
之前做这个功能就是通过找vnode里对应父节点下的子节点遍历,相同name的组件删除就没有缓存了
Vodka
英雄豪杰
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
现在确实是采用这种方法,但是有个问题。如图代码。当我同时存在A和B页签的时候。我当前路由为A然后我关闭了B。此时再打开B时B的缓存仍然存在。理由是第一个判断语句使得flag=false。然后就寸步难行了
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示