ユーザーの選択に応じて 2 つの異なるビューを表示する以外に何もしない、非常に単純なアプリケーションがあります。このアプリケーションは、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 }
};
}]);
user.html
<div ng-repeat="user in users">{{user.name}} {{ user.age }}</div>
index.html
<h1>index</h1>
私が間違っているところを誰でも見ることができますか?どんな助けでも素晴らしいでしょう
編集:
これが役立つ場合は、ブラウザからのスタック トレースを次に示します。
Error: Argument 'UserCtrl' is not a function, got undefined at Error () at bb ( http://www.testapp.com/js/angular/angular.min.js:17:68 ) at ra ( http:/ /www.testapp.com/js/angular/angular.min.js:17:176 ) でhttp://www.testapp.com/js/angular/angular.min.js:53:60 で 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 は、誰かが試してアクセスできない場合に備えて、外部アクセスのないローカルでホストされているサーバーです。