Si consideri il seguente servizio.
angular.module("myModule", [])
.service("thingCountingService", function() {
var thingCount = 0;
this.countThing = function() { thingCount++; }
this.getNumThings = function() { return thingCount; }
});
Se tu avessi un app, in cui una serie di controllori, viste, ecc, tutti vogliono contribuire ad un conteggio generale delle cose, il servizio di cui sopra funziona.
Ma cosa succede se ogni app vuole mantenere il proprio conteggio delle cose?
In tal caso, un servizio di singleton non funzionerebbe poiché può solo tenere traccia di tutti loro. Tuttavia, una factory ti consente di creare un nuovo servizio ogni volta che vuoi iniziare un nuovo contatore.
angular.module("myModule", [])
.factory("thingCountingServiceFactory", function() {
var thingCount = 0;
this.countThing = function() { thingCount++; }
this.getNumThings = function() { return thingCount; }
});
Con quanto sopra fabbrica, è possibile chiamare new thingCountingServiceFactory()
in qualsiasi momento e ottenere un nuovo set di thingCountingService
0
fonte
2014-07-14 20:29:51
possibile duplicato di [Angular.js: servizio vs fornire vs fabbrica?] (Http: // stackoverflow.com/questions/15666048/angular-js-service-vs-provide-vs-factory) –
@MarkRajcok è ma la risposta qui ha esempi migliori –