2016-04-03 13 views
2

Ich habe eine Direktive, die Abhängigkeit von einem Dienst hat, ich halte einige Richtlinie Zustand im Dienst. Wenn also dieselbe Anweisung an zwei Stellen verwendet wird, muss der neue Dienst instanziiert werden. zum BeispielAngularjs Direktive, Aufrechterhaltung des internen Zustandes für jede der Direktive Instanz

<body> 
First directive instance: <custom-directive> 1 </custom-directive> 
Second directive instance: <custom-directive> 2 </custom-directive> 
</body> 

In diesem Fall sind sowohl die Controller mit dem gleichen Dienstobjekt bevölkert, aber ich brauche die verschiedene Dienstobjekte ihre Zustände intern zu halten.

Kann jemand helfen.

Antwort

1

Sie können weiterhin einen Service/eine Factory verwenden, aber eine getInstance Methode in Ihrem Service verfügbar machen, die eine neue Instanz zurückgibt und Ihnen ermöglicht, für jede Anweisung eine neue Instanz zu injizieren und anschließend zu erstellen.

angular.module('app', []).factory('sharedService', sharedService); 

function sharedService() { 
    return { 
     getInstance: function() { 
      return new instance(); 
     } 
    } 

    function instance() { 
     // functionality 
    } 
} 
Verwandte Themen