我有一些数据正在填充到我的 Angular 2 应用程序中,一切都按预期工作,除了有时会在信息准备显示之前加载页面组件。在这些情况下,我可以点击“刷新”并填充数据。然而,这当然不是期望的行为。所以我的想法是将负责调用此信息的函数移至 ngOnInit 生命周期 Hook 中。但是,当我尝试执行此操作时,我的 IDE 显示错误,但我不确定原因。
这是我当前组件的相关信息:
export class DoctorGeneralComponent extends EventHandler implements OnInit {
@Input('doctor')
public doctor: DoctorModel;
constructor(private dialog: MdDialog) {
super();
}
ngOnInit() {
}
public getPropertyStatus(name: string): string {
return this.doctor ? this.doctor.getPropertyStatus(name) : '';
}
}
如果我将此“gePropertyStatus”方法移动到我的 ngOnInit 中,如下所示:
ngOnInit() {
public getPropertyStatus(name: string): string {
return this.doctor ? this.doctor.getPropertyStatus(name) : '';
}
...我收到 ts“需要声明或声明”错误。
知道这里发生了什么,以及如何解决它以将此方法包含在我的 ngOnInit 生命周期 Hook 中吗?
最佳答案
在 ngOnInit 内部调用它,在其外部定义它:
ngOnInit() {
this.getPropertyStatus("whatever name");
}
private getPropertyStatus(name: string): string {
return this.doctor ? this.doctor.getPropertyStatus(name) : '';
}
关于javascript - Angular 2 应用程序中 NgOnInit 生命周期 Hook 内移动方法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42350385/