Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
245 views
in Technique[技术] by (71.8m points)

angularjs - Angular "Module 'mainController' is not available!"

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try replacing this:

angular.module('mainCtrl', [])

with this:

angular.module('mainController', [])

in mainCtrl.js


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...