else { http("menu/list","GET",{ page: 1, limit: 1 },(res)=>{ if(res.code == 0){ menus = eval('(' + res.data.list[0].menujson+ ')'); window.sessionStorage.setItem('menus',res.data.list[0].menujson) for(var i=0;i<menus.length;i++){ // 找到当前登录角色的菜单 if(menus[i].roleName == role){ var menu = menus[i].backMenu; for(var j=0;j<menu.length;j++){ // 一级菜单 var menuItem = document.createElement('li'); menuItem.setAttribute('class','nav-item dropdown'); var itemHref = document.createElement('a'); itemHref.setAttribute("class","nav-link dropdown-toggle"); itemHref.setAttribute('data-toggle','dropdown'); itemHref.setAttribute('href','#'); itemHref.setAttribute("role","button"); itemHref.setAttribute("aria-haspopup","true"); itemHref.setAttribute("aria-expanded","false"); itemHref.innerHTML = menu[j].menu; menuItem.appendChild(itemHref); var menuChildDiv = document.createElement('div'); menuChildDiv.setAttribute('class','dropdown-menu'); var menuChild = menu[j].child; var secondMenuName = ""; for(var k=0;k<menuChild.length;k++){ 什么意思?
时间: 2023-06-24 17:07:29 浏览: 222
如何在java 8 stream表达式实现if/else逻辑
这段代码是一个前端页面中的 JavaScript 代码,主要实现了以下功能:
1. 发送一个 GET 请求到指定的 URL("menu/list"),请求参数为 { page: 1, limit: 1 }。
2. 如果请求成功(返回的状态码 code 为 0),则将返回的数据保存在 sessionStorage 中,并根据当前登录角色找到对应的菜单。
3. 生成菜单的 HTML 代码,并添加到页面中。
具体来说,代码逻辑如下:
1. 在else分支中,使用 http() 函数发送一个 GET 请求,请求的 URL 是 "menu/list",请求参数为 {page: 1, limit: 1}。
2. 回调函数中,判断返回的状态码是否为 0,如果是,则将返回的数据列表中的第一个菜单的 JSON 字符串存储在 sessionStorage 中,并将其转换为 JavaScript 对象(使用 eval() 函数)。
3. 遍历菜单列表,找到当前登录角色对应的菜单。
4. 对于每个一级菜单,创建一个 <li> 元素,并添加一个 <a> 元素作为子元素。这个 <a> 元素设置了一些属性,包括 class、data-toggle、href、role 和 aria-expanded 等,用于实现下拉式菜单的效果。同时,将一级菜单的名称设置为 <a> 元素的文本内容。
5. 为每个一级菜单创建一个下拉菜单 <div> 元素,并设置其 class 为 "dropdown-menu"。
6. 遍历当前一级菜单的所有子菜单,创建一个 <a> 元素作为子元素,并设置其 href 属性为子菜单的链接地址,文本内容为子菜单名称。
7. 将上述创建的元素添加到页面中。
阅读全文