2017-02-03 48 views
-1

我有以下为别人写的服务代码:

'use strict'; 

    angular.module('maintenance.portability.module') 
     .factory('selectedSamplesSvc', service); 

    service.$inject = ['$resource']; 

function service() { 
} 
})(); 

我只是想能够做到以下几点:

  1. 进样“$资源”
  2. 使用我服务中的$ resource实例

我该怎么做?

+1

此代码写错了。应该为服务指定参数'service($ resource){'。就这样。 – estus

+0

https://docs.angularjs.org/guide/di#-inject-property-annotation –

回答

1

3种方式,你可以注入一个服务:

  1. 传递依赖的函数参数

    app.controller("TestController", function ($scope) { 
        $scope.message = "Hey I am passed as function argument" 
    }); 
    
  2. 传递的依赖作为数组参数

    app.controller("TestController", ['$scope', function ($scope) { 
        $scope.message = "Hey I am passed in as array argument" 
    }]); 
    

    传递依赖关系作为数组参数在我们缩小应用程序时不会中断应用程序。

  3. 使用$注射服务

    function TestController($scope){ 
        $scope.greet = "I am injected using inject service"; 
    } 
    
    TestController.$inject = ['$scope']; 
    app.controller('TestController', TestController); 
    

全是你的第三个路过的依赖。对于注入,$ resource服务,你需要ngResource模块,当你设置一个角度的应用程序。

angular.module('test',['ngResource']) 
+0

答案不完整,仍然需要函数参数 – charlietfl

+0

@charlietfl:我已经为每种方式添加了片段。 – Dev

+0

@咖啡豆,它是否回答你的问题。 – Dev