我正在阅读Angular2指南,尽管在类定义中使用了关键字implements
,但在文档中并未对其进行详细描述。
例如,在以下内容中:
export class CrisisDetailComponent implements OnInit, CanDeactivate {
crisis: Crisis;
editName: string;
cancel() {
this.editName = this.crisis.name;
this.gotoCrises();
}
save() {
this.crisis.name = this.editName;
this.gotoCrises();
}
}
OnInit
被implements
关键字带入课堂,但我最常见的是OnInit
通过import {Component, OnInit} from 'angular2/core'
导入,然后在类定义中使用。< / p>
implements
关键字的效用是什么?并且,OnInit
不直接在此类定义中使用,那么它为什么要被引入类中呢? implements
方法可以OnInit
使goToCrises()
可用吗?如果是这样,为什么不能只将OnInit
注入定义goToCrises()
的组件?
感谢您的帮助。
答案 0 :(得分:6)
OnInit由implements关键字
引入类
但您仍然需要import
将OnInit
带入文件。
implements
只会引入类型信息,而不会引入任何运行时。您可以轻松删除OnInit
并且不会更改任何功能,只需确保该类遵循OnInit
的结构