Je suis sur le point d'utiliser un multi-provider pour exporter les dépendances de ma dépendance avec lui-même, afin qu'elles puissent être injectées dans un composant à la fois.Angular 2 multi-provider pour l'exportation des dépendances
Pour un composant
import {Component} from 'angular2/core';
import { FOO_PROVIDERS } from './foo';
@Component({
selector: 'app',
providers: [FOO_PROVIDERS]
})
export class App {}
le 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 })
];
se traduira par
Aucun fournisseur pour Http! (App -> Foo -> Http)
Et 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];
fonctionnera bien, alors que je les attendre à faire le même travail.
Y a-t-il une utilisation appropriée pour le multi-fournisseur dans ce cas?
comme une note: un blocage que j'ai eu - assurez-vous de mettre FOO_PROVIDERS après avoir défini la classe FOO, pas avant – Tucker
@Tucker C'est vrai, les classes ne sont pas levées – estus