【发布时间】:2021-09-27 22:45:07
【问题描述】:
我一直在寻找 TSyringe 是否可以注入所有实现某个接口(或从抽象类扩展)的类,如下所示:
@injectable()
export interface IService {
foo(): void;
}
@injectable()
export class Service1 implements IService {
foo() { console.out("bar"); }
}
@injectable()
export class Service2 implements IService {
foo() { console.out("baz"); }
}
export class CollectorService {
constructor(
@inject('Service')
services: IService[]
) {
services.forEach(s => s.foo());
}
}
我一个月前才开始使用 TSyringe,所以对所有功能都不熟悉,也不知道如何在 DI 容器中注册这种依赖项(如果有可能实现我的建议) .
我正在尝试模仿 Spring @Autowire 注释。
【问题讨论】:
标签: typescript tsyringe