【发布时间】:2018-08-07 11:29:37
【问题描述】:
如果我想将非单例服务注入 Angular 中的另一个非单例服务,该怎么办?
假设我有一个ComponentA,它使用这样的ServiceA
@component({
selector: "componentA",
providers: [ServiceA]
})
export class ComponentA {
constructor(private serviceA: ServiceA) {}
}
现在,ServiceA 也依赖于ServiceB,所以我需要注入它
@Injectable()
export class ServiceA {
constructor(private serviceB: ServiceB) {}
}
我将如何/在哪里声明我的ServiceB?在模块中?在那种情况下会是单例吗?
如果我将它添加到 ComponentA 中的提供程序,它可以正常工作,但是我需要在 ComponentA 中知道 ServiceA 依赖于 ServiceB,这对我来说似乎不太好。
谢谢!
【问题讨论】:
-
这似乎是一个非常有效的问题......所以很高兴知道人们为什么投票否决它。 (我非常赞成禁止投反对票!)
-
好吧,你为什么不想一开始就有单例服务呢?
-
@BunyaminCoskuner 也许是一个有状态的服务?
标签: angular dependency-injection