国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

layui遞歸實現動態左側菜單

2024-05-06 15:36:37
字體:
來源:轉載
供稿:網友

本文實例為大家分享了layui遞歸實現動態左側菜單的具體代碼,供大家參考,具體內容如下

我知道兩種方式實現:

一、先加載所有的主菜單,之后通過點擊主菜單在加載該菜單的子菜單(缺點,如果判斷是否已經加載過,那么動態添加了菜單,這里顯示不出來,不判斷的話,每次點擊都會請求一次,這樣請求的次數就太多了,服務器不太好的話可能會成為高并發的一個原因)

二、就是以下的了,使用遞歸一次性全部加載出來(缺點,耗費服務器內存)

如果動態添加一個菜單,你當前頁面不手動刷新菜單不會顯示,這個問題可以考慮用websocket實現

首先是service層如何獲取所有的菜單(主菜單和所有的子菜單)

 /** *獲取所有菜單 **/ @Override public List<MeunInfo> getParentMeun() { //獲取所有的菜單(包括子菜單和父級菜單) List<MeunInfo> list = meunDao.getParentMeun(); //創建一個集合用于保存所有的主菜單 List<MeunInfo> rootMeun=new ArrayList<>(); //遍歷所有菜單集合,如果是主菜單的話直接放入rootMeun集合 for (MeunInfo info:list){ //判斷為0是因為我的主菜單標識是0 if (info.getMeunParent()==0){ rootMeun.add(info); } }   //這個是遍歷所有主菜單,分別獲取所有主菜單的所有子菜單 for (MeunInfo info:rootMeun){ //獲取所有子菜單 遞歸 List<MeunInfo> childrenList=getchildrenMeun(info.getId(),list); //這個是實體類中的子菜單集合 info.setChildrenList(childrenList); } return rootMeun; } /*** 遞歸獲取子菜單(這個我也不太理解,copy過去就行)**/public List<MeunInfo> getchildrenMeun(int id,List<MeunInfo> allMeun){ //用于保存子菜單 List<MeunInfo> childrenList=new ArrayList<>(); for (MeunInfo info: allMeun){ //判斷當前的菜單標識是否等于主菜單的id if(info.getMeunParent()==id){ //如果是的話 就放入主菜單對象的子菜單集合 childrenList.add(info); } }  //這里就是遞歸了,遍歷所有的子菜單 for (MeunInfo info:childrenList){ info.setChildrenList(getchildrenMeun(info.getId(),allMeun)); }  //如果子菜單為空的話,那就說明某菜單下沒有子菜單了,直接返回空,子菜單為空的話就不會繼續  //迭代了 if(childrenList!=null && childrenList.size()==0){ return null; } return childrenList; }

接下來是實體類

 //菜單id private int id; //菜單標題 private String meunTitle; //菜單地址 private String meunUrl; //菜單狀態 private int meunStatus; //菜單標識 private int meunParent; //菜單排序 private int meunSort; //子菜單集合 private List<MeunInfo> childrenList;  //get set 省略

之后你可以測試,可以拿到結果,這個自行測試

界面代碼(注意這里我是用的是layui)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 杭州市| 合江县| 天峨县| 任丘市| 梨树县| 苍南县| 临汾市| 同心县| 宁阳县| 建昌县| 江陵县| 浙江省| 邳州市| 铜陵市| 繁峙县| 青阳县| 六盘水市| 阿拉善左旗| 鄂尔多斯市| 都江堰市| 田阳县| 龙岩市| 叙永县| 和田市| 乌拉特后旗| 三江| 福贡县| 安吉县| 沂水县| 广安市| 延长县| 彰化县| 南宫市| 万载县| 荆门市| 湘西| 辉南县| 平和县| 高密市| 齐河县| 宁南县|