Угловой инжектор 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
}])