RouteConfig和类,为什么构造函数需要一个service和router?

RouteConfig and classes, why is the constructor required to need a service and router?

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

我目前明白为什么 @RouteConfig 需要它们来工作,以及调用服务,但是说 "Because of X, you need the constructor to be Router, Service"

的明确因素是什么

难道class实现了OnInit?是不是应用组件的RouteConfig中引用了class?是什么顺序如此,我可以反过来吗?

如果我将 1 个组件定义为 Router,Service 而另一个组件定义为 Service, Router

,我确定最后一个问题是不行的

如果有人能告诉我为什么需要这样设置以及定义的来源,那将更好地帮助我理解 Angular 2 的概念。

如果你能为我指出重要的文档文件,那也太棒了,这样我就可以阅读更多内容了。

如果你有像

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

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

的实例

Angulars DI 然后在其注入器树中查找提供程序,并 returns 查找匹配提供程序的注入器实例。

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