![](/img/trans.png)
[英]Angular 6 injecting service into class without using the constructor
[英]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.