AngularJS中的Ng-view不起作用

时间:2016-07-22 14:09:19

标签: javascript html angularjs

我有一个简单的角度应用程序和两个链接,我希望angular更改我的URL并在同一单页面应用程序中显示每个链接的正确视图。但是当我在主模块中添加控制器模块时 - 它不起作用!

app.js

'use strict';

var app = angular.module('app', ['ngRoute','ngResource','ngSanitize','ui.select','appControllers'])

.config(['$routeProvider',function($routeProvider){
    $routeProvider
    .when('/roles',{
        templateUrl: '/views/roles.html',
        controller: 'rolesController'
    })
    .otherwise(
        { redirectTo: '/views/index.html'}
    );
}]);

的index.html

<!DOCTYPE html>
<html ng-app="app">
<head>
<title>Spring boot and Angularjs Tutorial</title>
<link rel="stylesheet" href="/css/app.css">
<script src="/js/app.js"></script>
<script src="/js/controllers.js"></script>
</head>
<body>
<h2>Administrator Panel</h2>
<div class="home-section">
<ul class="menu-list">
    <li><a href="#/report">Report</a></li>
    <li><a href="#/roles">Roles</a></li>
</ul>
</div>
<div ng-view></div>
</body>
</html>

controllers.js

'use strict';

var appControllers = angular.module('appControllers');

appControllers.controller('rolesController', ['$scope', function($scope) {
$scope.headingTitle = "Roles List";
}]);

当app.js中没有'appControllers'视图正在运行时,但控制器没有。

var app = angular.module('app', ['ngRoute','ngResource','ngSanitize','ui.select'])

随着 - 什么都行不通。我该怎么办?

1 个答案:

答案 0 :(得分:3)

更改

var appControllers = angular.module('appControllers');

var appControllers = angular.module('appControllers',[]);

您的代码正在尝试获取不存在的现有模块。

From the documentation

  

请注意使用angular.module(&#39; myModule&#39;,[])将创建   模块myModule并覆盖任何名为myModule的现有模块。使用   angular.module(&#39; myModule&#39;)检索现有模块。