项目场景:
将项目静态路由替换成动态路由,通过后台数据拿到路由配置信息动态加载
问题描述:
小编将路由信息与系统菜单信息存在一起,当登录后拿到菜单信息后同时处理路由数据,过程肯定不是那么一帆风顺的,下面是导致失败的重点
错误示例
let func = function(list) {
if (list && list.length > 0) {
for (let ind = list.length - 1; ind >= 0; ind--) {
if (list[ind].children && list[ind].children.length > 0) {
func(list[ind].children);
if (list[ind].children.length === 0) {
delete list[ind].children;
}
}
if (list[ind].permission) {
permissionList.push(list[ind].permission);
}
if (list[ind].href) {
menuUrlList.push(list[ind].href);
}
if (list[ind].href && list[ind].isShow && li