做动态路由时,使用router.addRoutes报错
原来的写法:
const menuArray = []
menu.forEach(item => {
// 这里拿到的menu就是permission下面的数组,既有一级菜单也有二级菜单,需要做一个区分
if(item.children) { // 如果它有children,继续进行遍历(二级菜单)
item.children = item.children.map(item => {
// 添加component属性。动态路由必须具备的三个条件:path,name(非必选),component
// 根据permission下menu的url找到对应的组件路径
item.component = () => import(`../views/${item.url}`) //es6模板字符串语法
console.log(item.component,'item')
return item // 此时children对象已被更新
})
menuArray.push(...item.children)
} else { // 如果是一级菜单的话,直接为它添加component属性
item.component = () => import(`../views/${item.url}`) //es6模板字符串语法
menuArray.push(item)
}
})
router.addRoutes(menuAr