2

我继承了以下代码,我需要将 $resource 注入到服务中。我是 AngularJS 的新手,并没有发现文档很有帮助。我尝试过的一切都失败了。有任何想法吗?

(function (angular) {

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

function myServiceProvider() {
    ...
}

谢谢。

4

1 回答 1

3

您无权访问提供程序函数中的依赖项,因为在配置阶段运行。您可以通过在您的提供程序函数中注入 $injector 服务来获得它们。

但是更好更干净的方法是直接在提供程序$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);
            }
        }
    }
)();
于 2015-08-18T20:22:25.187 回答