#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 файл