我的路由是设计成两个大路由,然后分别有子路由的,类似于
routes:[
{
path:'/home',
child:[
{
path:'/home/a',
},
{
path:'/home/b',
}
]
},
{
path:'/other',
child:[
{
path:'/home/c',
},
{
path:'/home/d',
}
]
}
]
然后我在app.vue设置
<keep-alive>
<router-view></router-view>
</keep-alive>
发现keep-alive 不生效
但是我如果分别在两个大路由的根组件上设置keep-alive,a页面到b页面,c页面到d页面成功缓存,但是a页面到c页面是缓存不成功的,有哪位道友遇到类似情况的??
如楼上所说,
<keep-alive>
只对直属的子组件有效,要使a到c的缓存有效,可以参考这里的做法
简单说就是使a,b,c,d放到同一个嵌套的子
<router-view>
, 给这个<router-view>
套<keep-alive>