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

时间:2018-05-17 09:28:45

标签: angular service constructor

constructor(private myService: MyService) {
}

在类构造函数中注入服务的长形式是什么? 我想把上面的内容改成某些东西,比如:

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

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

为什么简短形式没有明确给出参数?

1 个答案:

答案 0 :(得分:0)

两种方式都是一样的,只是你将赋值部分委托给系统而且你正在消费它,无论你需要什么。

假设您的服务具有依赖关系,那么您需要

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

总是更好地采用第一种方法,因为系统自动完成任务