1

ユーザーの選択に応じて 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 は、誰かが試してアクセスできない場合に備えて、外部アクセスのないローカルでホストされているサーバーです。

4

2 に答える 2