#html部分
<template>
<div id="app">
<keep-alive>
<router-view v-if="$route.meta.keepAlive"/>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"/>
</div>
</template>
#js部分
const Login = () => import('@/components/Login')
const routes = [
{
path: '/login',
name: 'login',
component: Login,
meta: {
keepAlive: true
}
}
]
export default new Router({
routes,
scrollBehavior (to, from, savedPosition) {
if (savedPosition || typeof savedPosition === 'undefined') {
from.meta.keepAlive = typeof from.meta.keepAlive === 'undefined' ? undefined : false
to.meta.keepAlive = typeof to.meta.keepAlive === 'undefined' ? undefined : true
if (savedPosition) {
return savedPosition
}
} else {
from.meta.keepAlive = typeof from.meta.keepAlive === 'undefined' ? undefined : true
to.meta.keepAlive = typeof to.meta.keepAlive === 'undefined' ? undefined : false
return {
x: 0,
y: 0
}
}
})