此时就出现了一个问题,因为 keep-alive 是在 Layout 上处理的,所以超过两级以上的路由都会变得难以处理,也没有一个相对完美的解决方案。这里需要注意,路由配置还是保持多级嵌套的形式,而这个配置并非最终注册使用的路由,仅仅是提供侧边栏导航菜单使用,同时再生成一份用于动态注册路由的数据,图例如果没看明白的话,可以看下面两组数据。通过一个递归函数就可以处理好路由的数据,但这还不够,因为还需要处理面包屑导航。当然通过实际情况考虑,这种限制并没有大问题,因为在后台系统里,本身模块相对独立,即便侧边栏导航菜单是嵌套层级关系的,在右侧内容展示区域,几乎都是独立模块展示,无需嵌套。实例代码本文主要是讨论实现思路,相关代码可在

解决基于 keep-alive 的后台多级路由缓存问题

解决基于 keep-alive 的后台多级路由缓存问题

解决基于 keep-alive 的后台多级路由缓存问题

解决基于 keep-alive 的后台多级路由缓存问题