2

我知道ngOnInit()构造函数和构造函数不同的一些事实。我也遇到过很多例子,其中服务是在ngOnInit()方法而不是在构造函数中定义的,反之亦然。

但是 Angular 并不禁止在构造函数级别使用服务。如果是这种情况,与在 中定义服务相比,这样做有什么好处ngOInit()

例子:

 export class App implements OnInit{

 constructor(private userService: UserService){
     userService.getDetails();
 }

 ngOnInit(){
    userService.getDetails(); 
 }  
4

1 回答 1

1

ngOnInit()钩子是 Angular 生命周期钩子之一。您提供的示例如您所见,但它是有限的,因为您无法访问@Input()构造函数中的任何变量。@Input()因此,如果您想将来自变量的参数传递给服务函数,那么您的模式将不起作用。作为一个好的实践,总是使用ngOnInit()构造函数来代替你的组件初始化,因为一切都会正常工作,而构造函数模式并不适用于每个用例。

于 2018-11-04T20:43:56.047 回答