2016-02-21 8 views
1

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

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

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

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

Изменение ниже кода сервиса

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

к

.service('userService', [function(){ //removed `''` dependency 
    //data 
}]) 
+0

Спасибо много. Вопрос был решен. Получил, чтобы узнать что-то новое. :) – tumulr

+0

@tumulr Рад помочь вам .. Спасибо :) Спасибо :) –

Смежные вопросы