2017-01-12 4 views
0

Я пытаюсь получить значение из угловой службы в функции вне моего углового приложения. Сервис выглядит следующим образом:

angular.module('myApp.services').factory('MyService', [ '$resource', function ($resource) { 

    return { 

     getModuleId: function() { 
      return $resource('/api/module_id', {}, { 
       query: { 
        method: 'GET' 
       }}); 
     } 

    } 
}]); 

Затем в HTML файл, внутри <script> тега, я использую следующий код, чтобы назвать его:

$(document).ready(function() { 
    ... 
    moduleId = angular.injector(['ng', 'myApp.services']).get("MyService").getModuleId(); 
    ... 
}) 

Но это бросает ошибку, указанную в заголовке:

Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- MyService 

Если удалить '$resource' из службы (поэтому услуга не имеет инъекции) ошибка исчезает. Но мне нужно заставить его работать с инъекцией.

ответ

0

Вы забыли включить модуль ngResource

angular.module('myApp.services',[ngResource]).factory('MyService', [ '$resource', function ($resource) { 

return { 

    getModuleId: function() { 
     return $resource('/api/module_id', {}, { 
      query: { 
       method: 'GET' 
      }}); 
    } 

} 

}]);

+0

ngResource уже включен в app.js – ntonnelier

+0

спасибо @Vikash Kumar, но это не проблема – ntonnelier