RouteConfig和类,为什么构造函数需要服务和路由器?

时间:2016-04-25 14:42:45

标签: angular angular-dart

我一直在使用Angular2框架中的一些示例代码。例如,英雄样本。有一件事我目前不理解。是什么因素表明我的构造函数需要Router, Service或反之亦然。

我目前理解为什么@RouteConfig需要工作,以及调用服务,但是说&#34的明确因素是什么;因为X,你需要构造函数是Router,服务"

该类是否实现了OnInit?是否在应用程序组件的RouteConfig中引用了该类?这样的订单是什么,我可以反过来反过来吗?

最后一个问题,如果我将1个compoennt定义为Router,Service而另一个是Service, Router

,那我确定是禁止的。

如果有人能够给我一些见解,为什么需要这样设置以及定义来自哪里,那么更能帮助我理解Angular 2的概念。

如果您可以为我指出重要的doc文件,那就太棒了,所以我可以阅读更多内容。

1 个答案:

答案 0 :(得分:1)

如果您有像

这样的构造函数
constructor(private router:Router, private service:Service) {}

然后你告诉Angulars DI当Angular需要创建该类的实例时,应该将Router实例作为第一个构造函数参数传递,并将Service实例作为第二个构造函数参数传递。

Angulars DI然后在其注入器树中查找提供程序,并从找到匹配提供程序的注入器返回一个实例。

要使其工作,该课程需要拥有像@Component()@Directive()@Pipe()@Inectable()这样的装饰器,它只适用于Angular创建的实例。如果您使用new Service()new Router(),则您自己需要获取并明确传递所需的构造函数参数。