2017-05-26 7 views
0

私はしかし、私はこのエラーを取得しています、私のCartServiceにXRDServiceとSESSION_SERVICE_TOKENの両方を注入しようとしています:代替クラス・プロバイダと依存性注入

Can't resolve all parameters for CartService: (?, [object Object]).

通常のサービスとの違いは何をDIになると、代わりのクラスのプロバイダですか? thisは少し説明しますが、私はまだ混乱しています。

下位モジュールで提供されているサービスにSESSION_SERVICE_TOKENを挿入できます。同じモジュールで提供されているサービスではありません。何故ですか?回避策はありますか?

app.module.ts:

providers: [ 
    { provide: SESSION_SERVICE_TOKEN, useClass: ClientSessionService }, 
    XRDService, 
    CartService, 
] 

cart.service.ts:

constructor(@Inject(SESSION_SERVICE_TOKEN) sessionService: SessionService, 
    private xrdService: XRDService) {} 

任意の助けいただければ幸いです。

+0

あなたはそれを再現できますか? – yurzui

答えて

0

循環依存の問題であることが判明しました。私はcartServiceにClientSessionServiceを注入していましたが、CartServにClientSessionServiceを注入しようとしていました。私は、ClientSessionServiceからカートの依存関係を削除し、すべてがうまくいきます。