Angular TS Lint onInit 与 ngOnInit

Angular TS Lint onInit vs ngOnInit

我收到了来自 TS Lint 的警告,我需要实现 OnInit 接口,并为我提供了一个 link 到这个页面:https://angular.io/docs/ts/latest/guide/style-guide.html#!#09-01

onInitngOnInit有什么区别。两者都为我工作。 为什么可以使用 ngOnInit 而不是 onInit 这样写起来更简单?

Angular 始终检查生命周期挂钩,无论您的 class 是否实现接口。

https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html

所以如果你有这个 class:

export class MyComponent {
    ngOnInit() { ... }
}

它将正常工作(框架将调用 ngOnInit)。但是,实现接口以确保正确实现方法是个好主意。

export class MyComponent implements OnInit {
    ngOnInit() { ... }
}

请注意,onInit 不是生命周期挂钩,不会被 Angular 调用——它只是表示您 implement ngOnInit 方法在你的 class.

某处