我正在尝试将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 :(得分:0)
原来是循环依赖问题。我正在将cartService注入ClientSessionService,同时还尝试将ClientSessionService注入cartService。我从ClientSessionService中删除了购物车依赖项,一切都很顺利。