Угловой инжектор Js $: ошибка unpr

Я новичок в Angular, и я пытался реализовать пользовательский сервис. Код ниже:

app.js

angular.module('hrg', [
  'ui.router',
  'ui.bootstrap',
  'ngTouch',
  'ngAnimate',
  'ngCookies',
  'hrg.home'
])

.service('userService', ['', function(){
//data
}])

home.js

angular.module('hrg.home', ['ui.router'])

.controller('HomeController', ['$scope','$http','$cookies','$state','consts', 'userService',
  function($scope, $http, $cookies, $state, consts, userService) {
  //data
}])

index.html

<script src="app.js"></script>
<script src="components/home/home.js"></script>

Ошибка: [$ инжектор: unpr] http://errors.angularjs.org/1.5.0/$ инжектор /unpr? P0 = userServiceProvider%20%3C-%20userService%20%3C-%20HomeController

Что я делаю не так?

1 ответ

Решение

Вы положили '' внутри userService встроенный массив DI, который запрашивает '' это виновник вашей проблемы. Потому что, когда вы вводите userService зависимость внутри контроллера, угловой инжектор идет на создание экземпляра userService оказание услуг.

При разрешении зависимости от userService DI массив, он проходит '' в injectorзатем сначала он создает имя провайдера, объединяя его с Provider как суффикс ''+ 'Provider с результатом к Provider как имя зависимости &, очевидно, такой зависимости нет. Так что угловой бросает исключение $injector/unpr? средства Injector unknown provider

Изменить код службы ниже

                    //VVVVVVV//unwanted '' blank dependency
.service('userService', ['', function(){
   //data
}])

в

.service('userService', [function(){ //removed `''` dependency
   //data
}])
Другие вопросы по тегам