1、路由文件配置:
在配置的路由后加上:
meta: {
keepAlive: true
}
例如:
{
path: '/',
name: 'Home',
component: () = >import('@/components/Main.vue'),
meta: {
keepAlive: true
}
}
2、main.js文件
添加
router.beforeEach((to, from, next) => {
const toDepth = to.path.split('/').length
const fromDepth = from.path.split('/').length
if (toDepth < fromDepth) {
console.log('后退。。。')
from.meta.keepAlive = false
to.meta.keepAlive = true
}
next()
})
3、在需要使用路由的组件
加上
<keep-alive>
<router-view v-if="$route.meta.keepAlive">
<!-- 这里是会被缓存的视图组件 -->
</router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive">
<!-- 这里是不被缓存的视图组件 -->
</router-view>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。