私は明らかに依存関係インジェクションで何かを理解していません。私は他のサービスを利用するサービスを持っています。私は、両方を同じコンポーネントで提供したいと考えています。 MediatorService
がQuoteCompositionService
と呼ばれる別のサービスを使用するサービスであるプロバイダのサービスを追加するとヌルに設定されます
@Component(
/// ...
providers: const [
MediatorService,
])
class ReviewTableComponent implements OnDestroy, OnInit {
final MediatorService _mediatorService;
ReviewTableComponent(
this._mediatorService,
);
/// ...
}
:私のコンポーネントは次のようになります。このように、コンポーネントはうまくレンダリングされ、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,
/// ...
);
/// ...
}