列表切换时数据缓存怎么保留?

程序员宝娥 阅读 31

我在做 tabs 切换的列表页,每次切回之前的 tab 列表都会重新请求,体验很差。明明之前已经加载过了,能不能缓存住 DOM 或数据别重复加载?

试过 keep-alive 包着组件,但好像没生效,不知道是不是写法有问题:

<keep-alive>
  <component :is="currentTabComponent" />
</keep-alive>
我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
 ___自乐
keep-alive 确实可以缓存组件,但可能需要检查一下组件的 key 值是否一致。key 值不同时,Vue 会认为是不同的组件,从而不进行缓存。确保每个 tab 对应的组件有唯一的 key。复制过去试试:






currentTabKey 要随着 tab 的切换而变化,可以是 tab 的唯一标识符。这样应该能解决问题。
点赞
2026-03-21 22:00