Bağımlılığımın bağımlılıklarını kendisiyle birlikte dışa aktarmak için bir multi-provider kullanmak üzereyim, böylece bir bileşene aynı anda enjekte edilebilirler. bir bileşeniDeğişkenlik bağımlılıklarını dışa aktarmak için açısal 2 çoklu sağlayıcı
import {Component} from 'angular2/core';
import { FOO_PROVIDERS } from './foo';
@Component({
selector: 'app',
providers: [FOO_PROVIDERS]
})
export class App {}
için
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 })
];
Http yok sağlayıcı neden olacaktır! (Uygulama -> Foo -> HTTP) Onları benzer işi yapmak beklenirken
Ve
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];
this, iyi çalışır.
Bu durumda çoklu sağlayıcı için uygun bir kullanım var mı?
eşdeğerdir hangi (eğer (değil
useValue
olarak) sağlayıcılara doğrudanHTTP_PROVIDERS
eklerken yapılır, hangiHttp
kaydetmeniz gerekir Bir not olarak: Ben bir tane-FOO_PROVIDERS koymak için FOO_PROVIDERS koymak için önce FOO değil, daha önce – Tucker@Tucker Bu doğru, sınıflar çekilir değil. – estus