在Angular 2中调用服务的最佳方法是什么

时间:2016-10-01 05:23:49

标签: angular

我使用angular 2从API中获取数据,并为其编写可注入服务。我应该在构造函数 ngoninit <中调用我的服务/ strong>在我要利用我的数据的组件中。 有人可以解释在角度2中使用构造函数和ngoninit钩子的最佳方法,就像构造函数一样用于实例化服务。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

参考:enter link description here

我们使用ngOnInit进行所有初始化/减速,并避免使用constructor中的内容。 constructor只应用于初始化类成员,但不应该执行实际的“工作”。