我使用angular 2从API中获取数据,并为其编写可注入服务。我应该在构造函数或 ngoninit <中调用我的服务/ strong>在我要利用我的数据的组件中。 有人可以解释在角度2中使用构造函数和ngoninit钩子的最佳方法,就像构造函数一样用于实例化服务。
答案 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
只应用于初始化类成员,但不应该执行实际的“工作”。