2017-02-03 46 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