Building a provider-configured service with useFactory
One further extension of dependency injection in Angular 2 is the ability to use factories when defining your provider hierarchy. A provider factory allows you to accept input, perform arbitrary operations to configure the provider, and return that provider instance for injection.
Note
The code, links, and a live example of this are available at http://ngcookbook.herokuapp.com/0049/.
Getting ready
Begin again with the dual service and article component setup shown in Service injection aliasing with useClass and useExisting, earlier in the chapter.
How to do it...
Provider factories in Angular 2 are exactly as you might imagine they would be: functions that return a provider. The factory can be specified in a separate file and referenced with the useFactory provide
option.
Begin by combining the two services into a single service, which will be configured with a method call:
[app/article.service.ts] import {Injectable} from '@angular...