Configures the Injector to return an instance of useClass for a token.
属性 属性名 类型 说明 provideanyAn injection token. (Typically an instance of Type or InjectionToken , but can be any).
multibooleanIf true, then injector returns an array of instances. This is useful to allow multiple providers spread across many files to provide configuration information to a common token.
使用说明 Example abstract class Shape { // TODO(issue/24571): remove '!'. name !: string; } class Square extends Shape { name = 'square'; } const injector = ReflectiveInjector.resolveAndCreate([{provide: Shape, useClass: Square}]); const shape: Shape = injector.get(Shape); expect(shape.name).toEqual('square'); expect(shape instanceof Square).toBe(true); Note that following two providers are not equal:
class Greeting { salutation = 'Hello'; } class FormalGreeting extends Greeting { salutation = 'Greetings'; } const injector = ReflectiveInjector.resolveAndCreate( [FormalGreeting, {provide: Greeting, useClass: FormalGreeting}]); // The injector returns different instances. // See: {provide: ?, useExisting: ?} if you want the same instance. expect(injector.get(FormalGreeting)).not.toBe(injector.get(Greeting)); Multi-value example const locale = new InjectionToken <string[]>('locale '); const injector = Injector.create([ {provide: locale , multi: true, useValue: 'en'}, {provide: locale , multi: true, useValue: 'sk'}, ]); const locales: string[] = injector.get(locale ); expect(locales).toEqual(['en', 'sk']);