Angular «Модуль «MainController» недоступен!»

#angularjs #service #compiler-errors #controller

#angularjs #Обслуживание #ошибки компилятора #контроллер

Вопрос:

Я попытался использовать AngularJS в своем приложении, однако наткнулся на ошибку.

Это 3 файла, которые я включил:

 <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']);
  

Теперь при отображении представления, которое должно загружать моих пользователей, оно сообщает мне об этом в консоли:

 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!
  

Что я добавил в <body> -Tag:

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

Почему?

Ответ №1:

Попробуйте заменить это:

 angular.module('mainCtrl', [])
  

с помощью этого:

 angular.module('mainController', [])
  

в mainCtrl.js

Комментарии:

1. Такого кода в userService.js . Вы имели в виду контроллер? Заменил его там, не работает.

2. Я имел в виду mainCtrl.js файл