【发布时间】:2016-07-26 14:07:58
【问题描述】:
我的构造函数有可选参数,它们似乎与执行 DI 的主要方式相混淆。
constructor(public name:string, public age?:number, private _service:Service);
可以理解,Typescript 不喜欢我将非可选参数放在可选参数后面,此外,当未设置可选参数时,服务不会被注入。我该如何解决?我不能把它放在构造函数的其他地方,因为我需要手动设置服务。
有没有类似现场注入的东西?
@Inject() private _service:Service;
constructor(public name:string, public age?:number);
我应该用默认值替换可选参数吗?还有其他建议吗?
编辑: 如下所述,我尝试将服务注入到不是由 Angular 的 DI 创建的对象中。这行不通。由于我无法使用 DI 创建此类(模型),因此我现在从实例化此对象的类中手动传递服务。
【问题讨论】:
标签: dependency-injection typescript angular