我有一个名为 insuranceController 的 Typescript 类,它接受一个多注入参数,如下所示:
@injectable()
export class InsuranceController implements IInsuranceController {
private policies: IInsurancePolicy[];
constructor(@multiInject("IInsurancePolicy") policies: IInsurancePolicy[]) {
this.policies = policies;
}
}
insurancePolicy 类需要一个数字作为构造函数参数
@injectable()
export class InsurancePolicy implements IInsurancePolicy{
constructor(public index: number) {
}
}
所以我按如下方式创建绑定:
this.container.bind<IInsurancePolicy>("IInsurancePolicy").toConstantValue(new InsurancePolicy(0));
this.container.bind<IInsurancePolicy>("IInsurancePolicy").toConstantValue(new InsurancePolicy(1));
this.container.bind<IInsurancePolicy>("IInsurancePolicy").toConstantValue(new InsurancePolicy(2));
这一切都很好。但是我现在想将第二个参数注入到 insurancePolicy 类中:
constructor(public index: number,
@inject("IIntakeLayout") intakeLayout: IIntakeLayout) {
}
我怎样才能做到这一点?我尝试查看此处概述的技术:InversifyJS Injecting Literal Constructor Parameters,但我看不出它们在多重注入场景中如何工作。请注意,InsuranceController 本身是注入的,因此我无法手动创建它。我应该如何使用 Inversify 来解决这个问题?