最近工作中,遇到开发中的问题。从商品列表页,进入商品详情页,之后再返回刚才离开的商品列表页面。解决方法是利用 vue 的keep-alive,https://cn.vuejs.org/v2/api/#keep-alive。虽然使用这个,解决了问题。但是具体原理自己目前也没明白。现在先记录下如何使用的。
keep-alive 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们
1 先是根目录下利用keep-alive包裹标签 keep-alive 包裹需要缓存的页面,再单独写一个不需要缓存的页面
<body>
<div id="app">
<keep-alive>
<router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>
</div>
</body>
2 在配置路由文件。把keepAlive: true 这个加到需要缓存的路由参数上。不需要缓存的可以不配置
{
path: '',//目录
redirect: '',
meta: {
keepAlive: true // 需要缓存
}
},<