Reference:
- http://stackoverflow.com/questions/15666048/angular-js-service-vs-provide-vs-factory
- https://groups.google.com/forum/#!msg/angular/56sdORWEoqg/HuZsOsMvKv4J
Services
Syntax:
module.service( 'serviceName', function );
Result: When declaring serviceName as an injectable argument you will be provided with an instance of the function. In other words new FunctionYouPassedToService()
.Factories
Syntax:
module.factory( 'factoryName', function );
Result: When declaring factoryName as an injectable argument you will be provided with the value that is returned by invoking the function reference passed to module.factory.
Providers
Syntax:
module.provider( 'providerName', function );
Result: When declaring providerName as an injectable argument you will be provided with new ProviderFunction().$get()
. The constructor function is instantiated before the $get method is called - ProviderFunction is the function reference passed to module.provider.
Providers have the advantage that they can be configured during the module configuration phase.
see here for the provided code: http://jsbin.com/ohamub/1/edit
.......