2017-02-03 2 views
-1

Mit injizieren $ von jemandem folgendem Code habe ich sonst für den Dienst geschrieben:in Angular

'use strict'; 

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

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

function service() { 
} 
})(); 

Ich möchte nur in der Lage sein, folgendes zu tun:

  1. Inject '$ resource'
  2. Verwenden Sie eine Instanz von $ Ressource in meinem Service

Wie kann ich das tun?

+1

Dieser Code wurde falsch geschrieben. Der Parameter sollte für den Service 'service ($ resource) {' angegeben werden. Das ist alles. – estus

+0

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

Antwort

1

3 Möglichkeiten können Sie einen Dienst injizieren:

  1. eine Abhängigkeit als Funktionsargumente Passing

    app.controller("TestController", function ($scope) { 
        $scope.message = "Hey I am passed as function argument" 
    }); 
    
  2. eine Abhängigkeit als Array Argumente Passing

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

    Das Übergeben von Abhängigkeiten als Array-Argumente unterbricht die Anwendung nicht, wenn wir die Anwendung minimieren.

  3. eine Abhängigkeit Passing mit dem $ inject Service

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

Dein ist die dritte Art und Weise. Zum Injizieren benötigen Sie $ ressource service ngResource Modul, wenn Sie eine eckige App einrichten.

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

Antwort ist unvollständig, noch brauchen die Funktion Argumente – charlietfl

+0

@charlietfl: Ich habe Snippets für jeden Weg hinzugefügt. – Dev

+0

@CoffeeBean, hat es dir deine Frage beantwortet. – Dev