在使用AngularJS的时候需要用到路由来控制页面的跳转,从而达到使用一个面板进行控制的目的,面板页面如图所示
该面板分为菜单栏和控制页面两部分,左侧和上方为不变的部分,中间区域随菜单选择变动
##项目下载 | GitHub下载 | 演示地址 | GitHub演示地址
1.引入所需的CSS和JS文件
- 将所需要的CSS文件和JS文件引入到项目中index.html
- angular.min.js
- ocLazyLoad.js
- angular-ui-router.js
1 | <!DOCTYPE html> |
2. 配置dashboard页面
1 | <div class="app app-header-fixed" id="app"> |
##3. 配置路由
- 配置各个页面的路由,通过懒加载加载所需要的文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58var adminApp = angular.module('adminApp', ['oc.lazyLoad', 'ui.router']);
angular.element(document).ready(function () {
angular.bootstrap(document, ['adminApp']);
});
adminApp.run(function ($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
});
adminApp.config(function ($stateProvider, $urlRouterProvider, $controllerProvider) {
adminApp.controllerProvider = $controllerProvider;
$urlRouterProvider.when("", "dashboard/accountManagement");
$urlRouterProvider.otherwise("dashboard/accountManagement");
$stateProvider
.state('dashboard', {
url: '/dashboard',
templateUrl: 'dashboard/dashboard.html',
controller: 'dashboardController',
resolve: {
deps: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load(['dashboard/dashboard.js']);
}]
}
})
.state('dashboard.accountManagement', {
url: '/accountManagement',
templateUrl: 'accountManagement/accountManagement.html',
controller: 'accountManagementController',
resolve: {
deps: ['$ocLazyLoad',
function ($ocLazyLoad) {
return $ocLazyLoad.load(['accountManagement/accountManagement.js', 'accountManagement/accountManagement.css']);
}]
}
})
.state('dashboard.academicYear', {
url: '/academicYear',
templateUrl: 'academicYear/academicYear.html',
controller: 'academicYearController',
resolve: {
deps: ['$ocLazyLoad',
function ($ocLazyLoad) {
return $ocLazyLoad.load(['academicYear/academicYear.js', 'academicYear/academicYear.css']);
}]
}
})
.state('dashboard.feedbackManagement', {
url: '/feedbackManagement',
templateUrl: 'feedbackManagement/feedbackManagement.html',
controller: 'feedbackManagementController',
resolve: {
deps: ['$ocLazyLoad',
function ($ocLazyLoad) {
return $ocLazyLoad.load(['feedbackManagement/feedbackManagement.js', 'feedbackManagement/feedbackManagement.css']);
}]
}
});
});
##4. 配置相应的页面controller
1 | angular.module("adminApp").controllerProvider.register('dashboardController', function ($scope) { |