之前封装了一个二级菜单,跳转都正常的。现在由加了一组菜单内容,右侧主页面跳转不成功——[vue-router] Route with name 'EleSpecLib' does not exist。

首先检查 vue 文件中的 name 大小写是否和路由文件中的 name 完全一致。确实一致的。

怀疑是路由跳转方式有问题,把 name+params 的传参方式改为 path+query 。这一次不报路由名不存在的错误了,但是 404

最后终于发现是 permissions 的问题。 若依生成动态路由规定:遍历每一个动态路由,检查是否有 permissions 或者 roles 属性,若有,则把这条路由 push 进去。否则不 push。之所以 404 或者找不到路由,原因就是没有把这条路由 push 进去。