2017-05-26 34 views
0

我試圖注入兩個XRDService和SESSION_SERVICE_TOKEN到我CartService,但是,我得到這個錯誤:另外一類供應商和依賴注入

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中,同時還嘗試將ClientSessionService注入到cartService中。我從ClientSessionService中刪除了購物車依賴項,一切都很好。