仅供作者自己观看
var allDatas = res.data[0]; var fourMenuLast = []; var repeatA = ''; var repeatB = ''; angular.forEach(allDatas.children, function (item1) {//步骤1,40 var fourMenu = {//步骤2, myMenu1: {}, myMenu2: {}, myMenu3: {} }; fourMenu.myMenu1.name = item1.name;//步骤3, fourMenu.myMenu1.id = item1.id;//步骤4, fourMenu.myMenu1.showname = item1.name;//步骤5, angular.forEach(item1.children, function (item2) {//步骤6,20, fourMenu.myMenu2.name = item2.name;//步骤7,21, fourMenu.myMenu2.id = item2.id;//步骤8,22, fourMenu.myMenu2.showname = item2.name;//步骤9,23, angular.forEach(item2.children, function (item3) {//步骤10,15,24,30,35, fourMenu.myMenu3.name = item3.name;//步骤11,16,25,31,36, fourMenu.myMenu3.id = item3.id;//步骤12,17,26,27,32,37, fourMenu.myMenu3.showname = item3.name;//步骤13,18,28,33,38, fourMenuLast.push(angular.copy(fourMenu));//步骤14,19,29,34,39, }); }); //fourMenuLast=[fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu,fourMenu]; $scope.rowSpan1 = {}; //某个一级导航合并的行数 angular.forEach(fourMenuLast, function (item) { if ($scope.rowSpan1[item.myMenu1.id]) { $scope.rowSpan1[item.myMenu1.id] += 1; } else { $scope.rowSpan1[item.myMenu1.id] = 1; } if (item.myMenu1.id === repeatA) { item.myMenu1.name = ''; } else { repeatA = item.myMenu1.id; } }); $scope.rowSpan2 = {}; //某个二级导航合并的行数 angular.forEach(fourMenuLast, function (item) { if ($scope.rowSpan2[item.myMenu2.id]) { $scope.rowSpan2[item.myMenu2.id] += 1; } else { $scope.rowSpan2[item.myMenu2.id] = 1; } if (item.myMenu2.id === repeatB) { item.myMenu2.name = ''; } else { repeatB = item.myMenu2.id; } }); $scope.allroles = fourMenuLast; })