Part 1(包装一下addRoutes方法)const createRouter = () => new Router({ mode: 'history', base: process.env.BASE_URL, routes: constantRouterMap, }) const router = createRouter() router.$addRoutes = (routes) => { router.matcher = createRouter().matcher router.addRoutes(routes) }Part 2(cloneDeep(asyncRouterMap))import { asyncRouterMap } from '@/config/router.config' import cloneDeep from 'lodash/cloneDeep' function filterAsyncRouter (routerMap, permission) { const accessedRouters = cloneDeep(routerMap).filter(route => { //to do }) return accessedRouters } const accessedRouters = filterAsyncRouter(asyncRouterMap, [获取的权限配置]) router.$addRoutes(accessedRouters)
Part 1(包装一下
addRoutes
方法)Part 2(
cloneDeep(asyncRouterMap)
)