vue动态加载路由

vue动态加载路由
vue动态加载路由
vue动态加载路由
const loadRouter = (roleArr = [], router = {}) => { //动态加载路由
let arr = []
roleArr.map((item) => {
if (item.children.length == 0) {
arr.push({
path: ‘/’ + item.path,
name: item.path,
component: resolve => require([../../views/${item.path}], resolve),//动态生成路由(江湖人称懒加载,此步) 非常重要!!!
meta: {
title: item.name,
requireAuth: item.requireAuth
}
})
} else {
item.children.map((n) => {
arr.push({
path: ‘/’ + n.path,
name: n.path,
component: resolve => require([../../views/${item.path}/${n.path}], resolve),//动态生成路由(江湖人称懒加载,此步) 非常重要!!!
meta: {
title: n.name,
requireAuth: n.requireAuth
}
})
})
}
})
//未定义路由重定向到logon页面
arr.push({
path: ‘*’,
redirect: ‘/’
})
router.addRoutes(arr)
}
使用: that.my.loadRouter(res.data.data.resources,that.my.loadRouter(res.data.data.resources ,that.router)
当前函数文件使用,loadRouter(res.data.data.resources ,router)