У меня очень простое приложение, которое ничего не делает, кроме отображения двух разных видов в зависимости от выбора пользователя. Это приложение является отправной точкой для изучения того, как маршруты работают в AngularJS.Контроллеры AngularJS, вызывающие ошибки
Моя проблема в этом.
Приложение при запуске в браузере переходит к представлению индекса без проблем. Это связано с тем, что индексный указатель не ссылается на контроллер. Однако представление пользователя ссылается (требует) контроллера. Это вызывает проблему, когда исключение выбрано: «Аргумент XCtrl» не является функцией, получившей неопределенное значение.
Мой главный индекс:
<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 }
};
}]);
user.html
<div ng-repeat="user in users">{{user.name}} {{ user.age }}</div>
index.html
<h1>index</h1>
может кто-нибудь увидеть, где я неправильно. Любая помощь будет большим
EDIT:
Здесь S трассировки стека из браузера, если это помогает любому
Ошибка: Аргумент «UserCtrl» не является функцией, был неопределенным при Error() на бб (http://www.testapp.com/js/angular/angular.min.js:17:68) на ра (http://www.testapp.com/js/angular/angular.min.js:17:176) на http://www.testapp.com/js/angular/angular.min.js:53:60 при к (http://www.testapp.com/js/angular/angular.min.js:151:401) на Object.e. $ широковещательный (http://www.testapp.com/js/angular/angular.min.js:90:517) на http://www.testapp.com/js/angular/angular.min.js:83:6в час (http://www.testapp.com/js/angular/angular.min.js:78:207) в час (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 является локальный сервер без внешнего доступа, только в случае, если кто-то пытается его и не может получить доступ ,
2 вещи: Во-первых, как указывает Томас, снимите скобки '[]' из вызова назначения 'controller '. Во-вторых, не уверен, что это всего лишь копия/вставка, но вы назначаете модуль переменной, называемой «контроллерами», но определяющей контроллер для переменной, называемой «appControllers». Может быть, создать JSFiddle, чтобы продемонстрировать вашу проблему? – bmceldowney
Да, приложение appController является копией. Я попробовал предложение, но это все еще не сработало. Я никогда не использовал jSFiddle, но, посмотрев, я не уверен, как добавить несколько файлов, необходимых для создания того же результата, который у меня есть. –