분명히 의존성 주입이있는 각도를 이해하지 못합니다. 다른 서비스를 사용하는 서비스가 있습니다. 동일한 구성 요소에 두 가지를 모두 제공하고 싶습니다. 내 구성 요소는 다음과 같습니다공급자의 서비스를 추가하면 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
에있는 모든 메소드를 호출 할 수 있기를 기대합니다. 그러나 지금은 _mediatorService
이 null
이라는 오류가 발생합니다. 공급자 목록에 QuoteCompositionService
을 추가하면 왜 _mediatorService
null
이됩니까?
ReviewTableComponent
이 인스턴스화되기 전에 QuoteCompositionService
을 제공해야한다고 가정합니다. 그러나, 내가 왜 _mediatorService
이 null
이 될지 이해하지 못합니다.
여기에 MediatorService
의 일부가 나와 있습니다. (어쩌면 내가 여기서 다른 것을해야 할까?)
@Injectable()
class MediatorService {
final QuoteCompositionService _quoteCompositionService;
/// ...
MediatorService(
this._quoteCompositionService,
/// ...
);
/// ...
}