keep-alive 是 vue 的内置组件,可以保证模块在切换的过程不被重复渲染,从而保持页面的状态
keep-alive 是一个抽象组件,并不会渲染一个 DOM 在页面中。
props:
- include:字符串或正则表达式。只有匹配的组件会被缓存。
- exclude: 字符串或正则表达式。任何匹配的组件都不会被缓存。
<keep-alive include="index">
<router-view/>
</keep-alive>
只有 name 为 index 的组件被缓存,状态会保存。
从列表页跳到详情页,再次返回。页面是可以记住页面的滚动位置的。
但是我在项目中,顶部还有一个切换栏,我用的是 mui 的切换栏,所以页面在回跳的时候无法记住被点击的那一个 tab 项,
但是使用 keep-alive 组件之后这个问题就被解决了。