前端工作小结38-动态路由
  TEZNKK3IfmPf 2023年11月14日 23 0


routes() {
/*获取数据里面的控制业务端和营销端的mode数值*/
const property = Vue.ls.get(ACCESS_MODE);
/*const */
/* const showingMenu = staticRoutes.filter(item){
return !item.hidden
}*/
/*去除里面的不是item.hidden是隐藏的属性*/
const showingMenu = staticRoutes.filter(item => !item.hidden);
/*拿出所有的菜单*/
let menu = [];
let pNames = new Set();
/*for循环得出所需要的结构 打印出所有的结构*/
for (const item of showingMenu) {
console.log(showingMenu)
/*如果没有父亲级别菜单 就开始继续进行执行*/
if (!item.meta.pName) {
/*如果这个端是业务端 并且里面的name的数值不是没有大菜单 比较多的*/
if (property == 1 && (item.name == "Order" || item.name == "Content"||item.name=="Home"||item.name == "Task"))
{
} else {
/*否则就是业务端*/
menu.push({
path: item.path,
name: item.name,
icon: item.meta.icon,
text: item.meta.text
});
}
/*如果pnames有大菜单 */
} else if (!pNames.has(item.meta.pName)) {
/*就去除里面的pname*/

const peers = showingMenu
.filter(i => i.meta.pName === item.meta.pName)
.map(i => ({
path: i.path,
name: i.name,
icon: i.meta.icon,
text: i.meta.text
}));
if (property == 1 && (item.meta.pName == "结算管理" )||(item.meta.pName == "数据分析"))
{
}else{
menu.push({
text: item.meta.pName,
icon: iconMap[item.meta.pName],
children: peers
});
pNames.add(item.meta.pName);
}

}
}
return menu;
},
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
TEZNKK3IfmPf