列表切换时数据缓存怎么保留? 程序员宝娥 提问于 2026-03-21 21:25:21 阅读 31 交互 我在做 tabs 切换的列表页,每次切回之前的 tab 列表都会重新请求,体验很差。明明之前已经加载过了,能不能缓存住 DOM 或数据别重复加载? 试过 keep-alive 包着组件,但好像没生效,不知道是不是写法有问题: <keep-alive> <component :is="currentTabComponent" /> </keep-alive> 列表缓存 我来解答 赞 3 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 ___自乐 Lv1 keep-alive 确实可以缓存组件,但可能需要检查一下组件的 key 值是否一致。key 值不同时,Vue 会认为是不同的组件,从而不进行缓存。确保每个 tab 对应的组件有唯一的 key。复制过去试试: currentTabKey 要随着 tab 的切换而变化,可以是 tab 的唯一标识符。这样应该能解决问题。 回复 点赞 2026-03-21 22:00 加载更多 相关推荐 1 回答 49 浏览 列表滚动后数据错乱,怎么正确缓存组件状态? 我在用 Vue 做一个带 tabs 的长列表页面,每个 tab 切换时会加载不同的数据。但用 <keep-alive> 包裹后,滚动位置和输入框内容在切换 tab 时会互相串掉,比如 A ... UE丶梓辰 交互 2026-03-23 23:50:20 2 回答 67 浏览 Vue keep-alive组件缓存失效,页面切换后数据未保留怎么办? 大家好,我在用Vue的keep-alive缓存页面时遇到个怪问题。当我用router-link切换两个页面时,第一个页面明明被include在了include列表里,但每次切换回来输入框里的内容都清空... 百里桂香 框架 2026-02-04 17:19:27 2 回答 31 浏览 Redis缓存怎么在Vue里配合后端做数据更新? 我用Vue写了个商品列表页,每次进页面都调接口拿数据,后端说加了Redis缓存,但改完商品信息后前端还是显示旧的。我试过在编辑成功后重新请求列表,但有时候还是刷不出来最新的,是不是缓存没清? 这是我的... Des.保霞 优化 2026-03-05 03:42:19 2 回答 60 浏览 SvelteKit页面切换后load函数数据没更新,该怎么解决? 我在SvelteKit项目里用load函数获取文章列表,但切换路由再回来时数据还是旧的。比如访问/blog/1后返回列表页,发现新发表的文章没显示。试过在客户端用invalidate(),但报错说“没... 博主杏花 框架 2026-02-15 21:00:27 2 回答 76 浏览 分页组件切换页码后数据没更新,是怎么回事? 在做列表分页时用了ant-design的Pagination组件,切换页码后控制台能看到请求参数正确,但页面数据还是第一页的内容。 代码结构是这样的:current={currentPage}绑定了数... ___素红 组件 2026-02-04 10:23:36 1 回答 17 浏览 List列表数据渲染后无法正确显示样式怎么办? 我在用Vue写一个商品列表,数据能正常从接口拿到,也用v-for渲染出来了,但每个列表项的间距和对齐总是乱的,明明CSS写了margin和flex布局。 控制台也没报错,结构看起来没问题,但就是样式没... A. 春景 组件 2026-03-31 05:50:16 1 回答 24 浏览 List列表数据渲染后样式错乱怎么办? 我用Vue写了个商品列表,数据是从接口拉的,渲染出来后发现每个item之间的间距不一致,有的挤在一起,有的又隔很远。明明CSS里写了统一的margin,但看起来完全没生效。 我试过加!importan... 司空莉娜 组件 2026-03-29 19:36:17 1 回答 52 浏览 缓存更新后用户还是看到旧数据怎么办? 我在做前端接口缓存,用的是 localStorage 存接口返回的数据。但后台数据更新后,用户刷新页面还是看到老内容,除非手动清缓存。有没有办法自动判断数据是否过期? 我试过加时间戳字段,比如 cac... ❤娇娇 优化 2026-03-23 21:44:24 1 回答 30 浏览 列表滚动时缓存失效,样式错乱怎么办? 我在做移动端商品列表页,用的是 Vue + keep-alive 缓存组件。但每次从详情页返回,列表的滚动位置虽然保留了,可部分 item 的样式却乱了——比如价格颜色变错、按钮状态重置。 我怀疑是组... 迷人的丽丽 交互 2026-03-20 08:06:21 2 回答 49 浏览 骨架屏在 Vue 里怎么做到数据加载完自动隐藏? 我用 Vue3 写了个商品列表页,想加个骨架屏提升体验。现在问题是:骨架屏显示出来了,但数据加载完成后不知道该怎么让它自动消失。我试过用 v-if 绑定 loading 状态,但有时候接口返回太快,骨... Top丶丽萍 优化 2026-03-18 21:50:25
currentTabKey 要随着 tab 的切换而变化,可以是 tab 的唯一标识符。这样应该能解决问题。