为什么ngOnInit不是第一个生命周期钩子?

Ste*_*ens 7 lifecycle angular

我是Angular 2的新手.为什么ngOnInit不是在组件或指令的构造函数之后调用的第一个钩子?

资料来源:https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html

在此输入图像描述

Gün*_*uer 5

ngOnInit()ngOnChanges()在第一次被调用之后被调用。

这样可以确保在ngOnInit()调用时绑定到输入的初始值可用。ngOnChanges()输入更新后调用。

关于第一个的顺序进行了很多讨论ngOnChanges()ngOnInit()但是没有一个论据被认为足以改变任何东西。

  • 之所以被接受,是因为这很有意义,但是我仍然无法想象如果没有这些初始值我将无法在ngOnInit中进行哪些工作。我仍然认为ngOnChanges更有可能需要ngOnInit中的某些东西,而不是其他方式。 (2认同)