angular menu - meetbill/butterfly-fe GitHub Wiki
动态控制侧边栏菜单主要就是根据用户的角色自动更新 static/tpl/blocks/nav.html 文件
列表标签
<li>表示列表项
<ul>表示无序排列
<ol>表示有序排列
即在<ul> </ul>中写入<li>可以构成一个无序列表,而在<ol> </ol>中写入<li>构成的是一个有序列表
static/tpl/blocks/nav.html 静态菜单
<!-- list -->
<ul class="nav">
<!-- 导航 -->
<li class="hidden-folded padder m-t m-b-sm text-muted text-xs">
<span translate="aside.nav.HEADER">Navigation</span></li>
<!--/导航 -->
<li>
<!-- 一级菜单 -->
<a href class="auto">
<span class="pull-right text-muted">
<i class="fa fa-fw fa-angle-right text"></i>
<i class="fa fa-fw fa-angle-down text-active"></i>
</span>
<i class="glyphicon glyphicon-stats icon text-primary-dker"></i>
<span class="font-bold" translate="aside.nav.DASHBOARD">Dashboard</span></a>
<!--/一级菜单 -->
<!-- 二级菜单 -->
<ul class="nav nav-sub dk">
<li ui-sref-active="active">
<a ui-sref="app.dashboard-v1">
<span>仪表盘 v1</span></a>
</li>
<li ui-sref-active="active">
<a ui-sref="app.dashboard-v2">
<b class="label bg-info pull-right">N</b>
<span>仪表盘 v2</span></a>
</li>
</ul>
<!-- /二级菜单 -->
</li>
</ul>
<!-- / list -->
static/tpl/blocks/nav.html
<!-- list -->
<ul class="nav" ng-controller="navController">
<!-- 导航 -->
<li class="hidden-folded padder m-t m-b-sm text-muted text-xs">
<span translate="aside.nav.HEADER">Navigation</span></li>
<!--/导航 -->
<li ng-repeat="first in menus | orderBy:'sort'">
<!-- 一级菜单 -->
<a href class="auto">
<span class="pull-right text-muted">
<i class="fa fa-fw fa-angle-right text"></i>
<i class="fa fa-fw fa-angle-down text-active"></i>
</span>
<i class="glyphicon" ng-class="first.glyphicon"></i>
<span class="font-bold" translate="">__ first.description __</span></a>
</a>
<!--/一级菜单 -->
<ul ng-repeat="second in first.children | orderBy:'sort'" class="nav nav-sub dk">
<!-- 二级菜单 -->
<li ui-sref-active="active">
<a ui-sref="__second.sref__">
<span>__second.description__</span>
</a>
</li>
<!-- /二级菜单 -->
</ul>
</li>
</ul>
<!-- / list -->static/js/config.router.js
.state('app', {
abstract: true,
url: '/app',
templateUrl: layout,
// 新增此行
resolve: load(["static/js/controllers/blocks/nav.js"])
})static/js/controllers/blocks/nav.js
'use strict';
app.controller('navController', ['$scope', function($scope) {
$scope.menus = [
{
"description":"仪表盘",
"sort": 1,
//柱状图小图标
"glyphicon": "glyphicon-stats icon text-primary-dker",
"children":[
{
"sref":"app.dashboard-v1",
"description":"主页展示"
},
{
"sref":"app.dashboard-v2",
"description":"主页展示2"
},
{
"sref":"app.chart",
"description":"chart"
},
]
},
{
"description":"常用页面",
"sort": 1,
"glyphicon": "glyphicon-cloud",
"children":[
{
"sref":"app.page.profile",
"description":"个人主页"
},
{
"sref":"app.page.search",
"description":"搜索页"
},
{
"sref":"app.docs",
"description":"Angulr 文档"
},
]
},
];
}]);
- description : 前端页面展示信息
- sort: 前端菜单排序(数字越小,越在前面)
- glyphicon: Bootstrap 字体图标
- children: 子页面
- sref: config.router.js 中的 ui state
- description: 前端页面展示信息
- sort: 前端菜单排序(数字越小,越在前面)