Angular “Module 'mainController' is not av

2019-09-12 02:55发布

问题:

I tried to use AngularJs in my Application, however I stumble upon an error.

Those are the 3 files I included:

<script src="app/lib/angular/angular.js"></script>
<script src="app/lib/angular/angular-route.min.js"></script>
<script src="app/app.js"></script>

mainCtrl.js:

angular.module('mainCtrl', [])

    .controller('mainController', function($scope, $http, User) {
        $scope.loading = true;

        User.get()
            .success(function(data) {
                $scope.users = data;
                $scope.loading = false;
            });
    });

userService.js:

angular.module('userService', [])

    .factory('User', function($http) {

        return {
            get : function() {
                return $http.get('/api/users/get');
            }
        }

    });

app.js:

var userApp = angular.module('userApp', ['mainController', 'userService']);

Now when showing the view that should load my users it tells me this in the console:

angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module userApp due to:
Error: [$injector:modulerr] Failed to instantiate module mainController due to:
Error: [$injector:nomod] Module 'mainController' is not available!

What I added to the <body>-Tag:

ng-app="userApp" ng-controller="mainController"

Why?

回答1:

Try replacing this:

angular.module('mainCtrl', [])

with this:

angular.module('mainController', [])

in mainCtrl.js