当你使用函数ngOnInit时,是否实现OnInit有什么区别

Eve*_*Eve 6 angular

当我使用函数ngOnInit时,tslint警告我应该实现Oninit.But我可以正常使用函数ngOnInit而不会影响Oninit.Who可以告诉我两种方式之间有什么区别?

Gün*_*uer 6

没有区别。添加implements OnInit.

ngOnInit 是此接口需要的唯一方法。

https://angular.io/api/core/OnInit


Jam*_*ees 5

我假设您正在使用Typescript?

您不必实现,OnInit因为这是Typescript,而JavaScript没有接口的概念。因此,当您实现和接口时,在运行时实际上并不存在。

实施接口将为您提供所有强类型检查,并且TSC会抛出所有警告。

因此,出于这个原因,我建议您仍然使用该界面,并且这是一个很好的做法。


Pat*_*ter 5

如果你在谈论"编译"版本(在TypeScript处理成可运行的JavaScript之后),两者之间几乎没有区别.接口将被删除(运行时没有TypeScript接口). 除此之外,唯一真正的区别是一些Angular Tooling可以利用这些信息(静态分析等).但是,如果您不使用任何工具,则此信息仅适用于您自己,分别适用于项目的所有编码人员.您可以轻松地从tslint配置中删除该规则,并且所有内容都将以相同的方式继续工作.