Element-admin做后台管理系统,一级菜单和二级菜单缓存都没有问题,三级菜单就会出现无法缓存的问题,网上找资料说是vue中keep-alive本身存在的缺陷,需要在路由守卫中将matched属性做一下优化,具体如下
找到router.beforeEach里面的next(),在之前加3行代码即可解决
//修复三级菜单不能缓存的问题
if(to.matched && to.matched.length>2){
to.matched.splice(1,to.matched.length-2)
}
next()
如果是Element-admin模板,文件是改permission.js,或者直接搜索beforeEach