繁体   English   中英

在类构造函数中注入服务的长形式

[英]Long form of injecting a service in a class constructor

constructor(private myService: MyService) {
}

在类构造函数中注入服务的长形式是什么? 我想将上面的内容重新整理为:

private myService;
constructor() {
    this.myService = new MyService();
}

但是现在尖叫MyService需要两个参数(长格式)

为什么简短形式在没有明确给出参数的情况下起作用?

两种方法都是相同的,只是您将分配部分委派给系统,然后根据需要使用它。

假设您的服务具有依赖项,那么您将需要,

const dep1 = new Dep1();
const subDep = new SubDep();
const dep2 = new Dep2(subDep);
this.myService = new MyService(dep1, dep2)

第一种方法总是更好,因为系统会自动执行操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM