function filterAsyncRouter (routerMap, roles) {
const accessedRouters = routerMap.filter(route => {
// if (hasPermission(roles.permissionList, route)) {
if (hasPermission(roles, route)) {
if (route.children && route.children.length) {
route.children = filterAsyncRouter(route.children, roles)
}
return true
}
return false
})
return accessedRouters
}
这里ruturn
的是filter
函数的条件,结束的是箭头函数的运行,并不会结束整个函数的运行。返回为true
,则满足条件放入accessedRouters
中。否则过滤掉。