2016-11-21 14 views

Odpowiedz

6
  • useFactory wykonuje funkcję fabrycznego, który jest oczekiwany powrót wartości, a także może mieć zależności (wymagające wystąpień innych dostawców przekazywane jako parametr)

Patrz na przykład parametr config:ConfigService wymaganych funkcji fabrycznego w How to pass parameters rendered from backend to angular2 bootstrap method

  • useValue jest tylko wartość, która jest wstrzykiwana jak

  • useClass oczekuje nazwy typu i kątowe tworzy instancję od przeszedł typu, a także rozwiązuje i przekazuje parametry konstruktora klasy, czy są jakieś

  • Istnieje również useExisting, który jest jak alias dla zarejestrowanego już dostawcy. Przypadkiem użycia jest zapewnienie tego samego wystąpienia dostawcy z różnymi kluczami.

Zobacz przykład na przykład Angular 2 useExisting providers.

7

useValue: przydzieli bieżące cokolwiek przypisane wystąpienie obiektu, które podałeś.

useFactory: również robi to samo, można skonfigurować obiekt fabryczny w oparciu o inne uzależnienia od wewnątrz function i przed powrotem wystąpienie niego.

{ 
    provide: CustomDependency, 
    useFactory:() => { 
    if (IS_A) { 
     return new A(); 
    } else { 
     return new B(); 
    } 
    } 
} 

Można użyć useFactory skonfigurować zależność w czasie konfiguracji. Jest to ta sama faza, co w przypadku config fazy Angular 1, , w której modyfikujesz lub tworzysz zależności zależnie od potrzeb.