Vue组件缓存 keep-alive

雪天web

共 402字,需浏览 1分钟

 · 2022-02-04

是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM(防止重新发请求)。


包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 相似, 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在父组件链中。


全部缓存

直接在App.vue里面的路由占位符外层包裹一个 keep-alive标签即可


2c6f277fbeb7a95f7050c040534977f2.webp



结合router,缓存部分页面

通常就是需要缓存部分需要缓存的组件或页面


使用$route.meta的keepAlive属性

1. 先router.js中设置router的元信息meta:


37c59e7ef2209ed392f0e541fcc7ddff.webp


2. 然后再App.vue里面对路由占位符做个if判断,就是获取meta里面的keepalive的值,true就需要缓存,否则不缓存。这里同样还要写上不需要缓存的组件的占位符,如果不写,不需要缓存的组件就不显示了:


c69f0d4889cf5c10d589e95814ad1953.webp


浏览 68
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报