2016-10-01 45 views
1

服务我使用角2与it.Should编写的注射服务从API获取数据我打电话给我的制作服务的最佳方式ngoninit在我要利用我的数据的组件中。 有人可以解释使用构造函数的最佳方法和角2中的ngoninit钩子类似的构造函数用于实例化服务。什么是调用在角2

回答

1

我认为你应该在ngOnInit中调用它。首先你可以访问@Input,这通常是服务通过http调用一些api的情况。

在设计方面,构造函数应该只分配依赖关系。里面不应该有任何逻辑。它增加了一个类的可测试性,因为您不必在创建对象时设置其他内容。

1

的推荐方法是在构造函数中定义的服务,并调用它ngOnInit,例如:

constructor(private newsService: NewsService) {} 
ngOnInit() { 
    this.newsService.method()..... 
} 

参考:enter link description here

我们使用ngOnInit所有的初始化/减速,避免东西在constructor工作。 constructor应该只用于初始化类成员,但不应该做实际的“工作”。