2017-11-06 11 views
0

분명히 의존성 주입이있는 각도를 이해하지 못합니다. 다른 서비스를 사용하는 서비스가 있습니다. 동일한 구성 요소에 두 가지를 모두 제공하고 싶습니다. 내 구성 요소는 다음과 같습니다공급자의 서비스를 추가하면 null로 설정됩니다.

MediatorService
@Component(
    /// ... 
    providers: const [ 
     MediatorService, 
    ]) 
class ReviewTableComponent implements OnDestroy, OnInit { 
    final MediatorService _mediatorService; 

    ReviewTableComponent(
    this._mediatorService, 
); 

    /// ... 
} 

다른 서비스가 QuoteCompositionService라고 사용하는 서비스입니다. 이와 같이 구성 요소가 잘 렌더링되고 MediatorService에서 메서드를 호출 할 수 있습니다. 분명히 다른 곳에서는 제공되지 않기 때문에 QuoteCompositionService을 사용하는 것은 실패합니다. 나는이

@Component(
    /// ... 
    providers: const [ 
     QuoteCompositionService, 
     MediatorService, 
    ]) 
class ReviewTableComponent implements OnDestroy, OnInit { 
    final QuoteCompositionService _quoteCompositionService; 
    final MediatorService _mediatorService; 

    ReviewTableComponent(
    this._quoteCompositionService, 
    this._mediatorService, 
); 

    /// ... 
} 

처럼, 같은 구성 요소에 QuoteCompositionService를 추가하는 경우

그래서, 그때 MediatorService에있는 모든 메소드를 호출 할 수 있기를 기대합니다. 그러나 지금은 _mediatorServicenull이라는 오류가 발생합니다. 공급자 목록에 QuoteCompositionService을 추가하면 왜 _mediatorServicenull이됩니까?

ReviewTableComponent이 인스턴스화되기 전에 QuoteCompositionService을 제공해야한다고 가정합니다. 그러나, 내가 왜 _mediatorServicenull이 될지 이해하지 못합니다.

여기에 MediatorService의 일부가 나와 있습니다. (어쩌면 내가 여기서 다른 것을해야 할까?)

@Injectable() 
class MediatorService { 
    final QuoteCompositionService _quoteCompositionService; 

    /// ... 

    MediatorService(
    this._quoteCompositionService, 
    /// ... 
); 
    /// ... 
} 

답변

0

Nevermind. QuoteCompositionService 공급자 목록에 오타가있었습니다. 외관상으로 오타가 있어도 컴파일이 실패하지 않습니다.