Sto per utilizzare un multi-provider per esportare le dipendenze della mia dipendenza insieme a se stesso, in modo che possano essere iniettate in un componente contemporaneamente.Multi-provider angolare 2 per l'esportazione delle dipendenze della dipendenza
Per un componente
import {Component} from 'angular2/core';
import { FOO_PROVIDERS } from './foo';
@Component({
selector: 'app',
providers: [FOO_PROVIDERS]
})
export class App {}
il following
import {Inject, Injectable, provide} from 'angular2/core';
import {Http, HTTP_PROVIDERS} from 'angular2/http';
export class Foo {
constructor(@Inject(Http) http) {}
}
export const FOO_PROVIDERS = [
provide(Foo, { useClass: Foo, multi: true }),
provide(Foo, { useValue: HTTP_PROVIDERS, multi: true })
];
si tradurrà in
Nessun provider per HTTP! (App -> Foo -> Http)
E this
import {Inject, provide} from 'angular2/core';
import {Http, HTTP_PROVIDERS} from 'angular2/http';
class Foo {
constructor(@Inject(Http) http) {}
}
export const FOO_PROVIDERS = [Foo, HTTP_PROVIDERS];
funzionerà bene, mentre mi aspetto che facciano il lavoro simile.
C'è un uso corretto per multi-provider in questo caso?
come nota: un hangup che ho avuto - assicurati di mettere FOO_PROVIDERS dopo aver definito la classe FOO, non prima di – Tucker
@Tucker Esatto, le classi non vengono issate – estus