我正在尝试从角度应用程序之外的函数中的角度服务中检索值。该服务如下所示:
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'
(因此服务没有注入),错误就会消失。但我需要让它与那里的注射一起工作。
你忘了包含模块 ngResource
angular.module('myApp.services',[ngResource]).factory('MyService', [ '$resource', function ($resource) {
return {
getModuleId: function() {
return $resource('/api/module_id', {}, {
query: {
method: 'GET'
}});
}
}
}]);