如何注入$resource到提供商



我继承了下面的代码,我需要将$resource注入到服务中。我是AngularJS的新手,没有发现文档很有帮助。我所做的一切都失败了。什么好主意吗?

(function (angular) {
angular.module('myModule')
    .provider('myService', [myServiceProvider]);
function myServiceProvider() {
    ...
}

谢谢。

您无法访问provider函数中的依赖项,因为运行在配置阶段。你可以通过在你的provider函数中注入$injector service来使它们可用。

但是更好更干净的方法是直接在提供者$get函数中注入依赖项。

(function (angular) {
    angular.module('myModule')
        .provider('myService', [myServiceProvider]);
    function myServiceProvider() {
        this.$get = function($resource){
            //you could have access here to $resource
            //create $resource object here and return it.
            this.getData = function(){
                return $resource('http://example.com/resource);
            }
        }
    }
)();

最新更新