未知提供者:$ resourceProvider从外部js方法调用角度服务时出错

时间:2017-01-12 15:03:08

标签: javascript angularjs service javascript-injection

我正在尝试从角度应用程序之外的函数中的角度服务中检索值。该服务如下所示:

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'(因此服务没有注入),则错误消失。但是我需要在那里注射它。

1 个答案:

答案 0 :(得分:0)

您忘记包含模块ngResource

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

return {

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

}

}]);