我有一个非常简单的应用程序,它除了根据用户选择显示两个不同的视图之外什么都不做。这个应用程序是学习路由在 AngularJS 中如何工作的垫脚石。
我的问题是这个。
应用程序在浏览器中运行时可以毫无问题地导航到索引视图。这是因为索引视图没有引用控制器。但是,用户视图确实引用(需要)控制器。这会导致引发的异常是 Arguement 'XCtrl' is not a function, got undefined 的问题。
我的主要指标是:
<html>
<head><title></title></head>
<body>
<div ng-view></div>
</body>
</html>
我的主要 app.js 是:
angular.module('app.controllers', []);
var controllers = angular.module('app.controllers', []);
angular.module('app', ['app.controllers'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/', {
templateUrl: 'views/index.html'
})
$routeProvider.when('/users', {
templateUrl: 'views/users.html',
controller: 'UserCtrl'
}).
otherwise({ redirectTo: '/' });
}]);
我的控制器是:
appControllers.controller('UserCtrl', ['$scope', function ($scope) {
$scope.users = {
user: {name: "Ian", age: 30 },
user: {name: "Paul", age: 37 }
};
}]);
用户.html
<div ng-repeat="user in users">{{user.name}} {{ user.age }}</div>
索引.html
<h1>index</h1>
任何人都可以看到我哪里出错了。任何帮助都会很棒
编辑:
这是来自浏览器的堆栈跟踪,如果这有帮助的话
错误:参数 'UserCtrl' 不是函数,在错误()处未定义(http://www.testapp.com/js/angular/angular.min.js:17:68)在 ra(http:// /www.testapp.com/js/angular/angular.min.js:17:176 ) 在http://www.testapp.com/js/angular/angular.min.js:53:60 at k ( http: //www.testapp.com/js/angular/angular.min.js:151:401 ) 在 Object.e.$broadcast ( http://www.testapp.com/js/angular/angular.min.js: 90:517)在http://www.testapp.com/js/angular/angular.min.js:83:6 在 h(http://www.testapp.com/js/angular/angular.min.js :78:207 ) 在 h ( http://www.testapp.com/js/angular/angular.min.js:78:207 ) 在http://www.testapp.com/js/angular/angular.min.js:78:440
还:
www.testapp.com 是本地托管的服务器,没有外部访问权限,以防万一有人尝试但无法访问。