如何检查 Reportid 是否存在于 ReportControl 对象上或不使用 *ngif?

How to check Reportid exist on ReportControl object or not using *ngif?

我在开发 angular 7 个应用程序 我遇到问题需要检查

如果 Reportid 在 component.html 上使用 *ngIf 在 Report Control 对象上存在或不存在。

report.component.ts 上:

displayreport: any = {};
Reportid: string;

ngOnInit() {
  this._displayreport.GetReportControl(Reportid).subscribe((res: any) => {
      this.ReportControl = res;
      console.log("report control is" + JSON.stringify(this.ReportControl)
      });
  }
}

this.ReportControl return 只有一个对象为:

{"reportid":"2040","reportName":"financialAsset","reportType":"1"}

预期结果:

*ngIf="???????"

用作 *ngIf = "Report controller?.reportid"

displayreport: any = {};
Reportid: string;
ReportControl: any;
ngOnInit() {
  this._displayreport.GetReportControl(this.Reportid).subscribe((res: any) => {
      this.ReportControl = res;
      console.log("report control is" + JSON.stringify(this.ReportControl)
      });
  }
}

如果您要检查值 reportid 在您的 html(ngIf) 中的响应 (res) 中是否可用,可以通过以下方式实现:

  1. *ngIf="ReportControl && ReportControl.reportid"
  2. *ngIf="ReportControl?.reportid"

两者的工作方式相似,先检查ReportControl是否存在,然后再检查相应的reportid是否存在,这种方法更可靠,因为它避免了未定义的属性错误。