【发布时间】:2017-02-25 15:56:42
【问题描述】:
Angular 2 中关于 DI 的每个教程都是将依赖项设置到构造函数中。但是,如果我想创建一个类的实例并且该类对其他类有一些依赖关系。
我有 A 类和 B 类。B 类应该注入 A。但是 A 每次都不一样,应该能够创建它的实例。
如果我在A的构造函数中设置DI,如何调用new A()?
我尝试使用@Inject(B) 装饰将B 作为私有变量添加到A。
class A {
@Inject(B) b: B;
}
【问题讨论】:
-
如果您使用 DI,则不要致电
new A();关键是您不需要解决依赖关系并自己创建实例。 -
但是A应该每次都不一样,所以我必须创建一个新的实例。
-
我不知道你想说什么。
-
A 有 foo 作为成员。但是 foo 不一样。所以我想创建 A 的实例,我可以设置 foo.如果 A 由 DI 提供,则 foo 每次都相同。
-
我在你的例子中没有看到 foo 。请提供一个具体的演示,说明您正在尝试做什么以及为什么。
标签: angular typescript dependency-injection