现象:页面可以访问,router写的也没有错误,但是就是空白。
原因:经过排查发现,是App.vue中引入keep-alive,只处理了缓存的页面,没有考虑非缓存的页面,导致的。
下面是正确的写法:
{
path: '/',
name: 'home',
component: () => import('@/views/home/Home'),
meta: {
keepAlive: true,
isBack: true
}
},
{
path: '/login',
name: 'login',
component: () => import('@/views/login/Login')
},
<template>
<div id="app">
<keep-alive>
<router-view v-if="$route.meta.keepAlive" />
</keep-alive>
<router-view v-if="!$route.meta.keepAlive" />
</div>
</template>