Angular TS Lint onInit vs ngOnInit

时间:2017-05-17 19:27:12

标签: angular tslint

我收到TS Lint的警告,我需要实现OnInit界面,并为我提供了此页面的链接:https://angular.io/docs/ts/latest/guide/style-guide.html#!#09-01

onInitngOnInit之间有什么区别?两者都适合我。 为什么可以使用ngOnInit而不是onInit来编写这么简单?

1 个答案:

答案 0 :(得分:4)

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

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

所以如果你有这个课程:

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

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

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

请注意,onInit不是生命周期挂钩,不会被Angular调用 - 它只是界面的名称,表示您在班级的某个地方implement ngOnInit方法