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



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

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'
            }});
    }
}

}]);

最新更新