vue通过后端添加的路由里的component是一个空的function?

新手上路,请多包涵

项目是基于vue-element-admin做的,做过的童鞋可能知道里面的权限路由是前端写死的,我们现在需要从数据库读取路由并动态加上去。
然后现在的问题可以加上去了,但是component却是空的,有点不懂,写法好像也没错,寻求一下帮助,下面贴一些图。感谢各位。
image.png

image.png

image.png

阅读 6.5k
6 个回答

没这个必要吧。请求到有权限进入的页面路由数据,写个全局的路由守卫,判断跳转的页面是否包含在权限数据里就行了。

需要一个闭包返回 promiss

试试这样
clipboard.png

路由里就是
component: lazyLoading(item.component)

我是这样实现的 loop()那段,根据后端返回结果创建一个routeList
然后:

this.$router.options.routes.push(routeList);

图片描述

应该是 import 语法的问题
参考 https://www.jb51.net/article/...

看element-admin的文档,作者提供了这样一个思路
https://panjiachen.github.io/...

提前导入组件,存到变量里
const map={
login:require('login/index').default // 同步的方式
login:()=>import('login/index') // 异步的方式
}
//你存在服务端的map类似于
const serviceMap=[
{ path: '/login', component: 'login', hidden: true }
]
//之后遍历这个map,动态生成asyncRoutes
并将 component 替换为 map[component]

GitHub里也有相关的问题
https://github.com/PanJiaChen...

新手上路,请多包涵

同样的问题,之后怎么解决的

推荐问题