此文章讲诉在vue中使用keep-alive缓存,三级路由缓存失败处理方案。 一二级路由缓存无任何问题,三级以上就会失败,因此我们在路由守卫中对matched做出如下优化 Router.beforeEach((to, from, next)=>{if(to.matched && to.matched.length>2){to.matched.splice(1,to.matched.length -2)}next() }) 在路由拦截中对matched进行截取即可解决