角类方法给出错误:不是函数

时间:2018-11-10 01:01:13

标签: angular

我正在尝试在Angular 6应用程序的类上使用一种方法,但它不起作用

我有以下Angular类;

export class Report {
    reportNumber: number;
    reportType: string;

    reportName(): string {
        return `${this.reportType} ${this.reportNumber}`;
    }
}

我正在尝试执行以下操作:

export class ReportsIndexComponent implements OnInit {    
    reports: Report[];

    constructor(private reportService: ReportService) {}

    ngOnInit() {
      this.reportService.getReportsForJob(this.jobId)
        .pipe(first())
        .subscribe(
          result => {
            this.reports = result;
          },
          () => { });
    }
  }

我的html看起来像这样:

<p *ngFor="let report of reports">                    
    {{report.reportName()}}
</p>

我得到的错误是:

ERROR TypeError: _v.context.$implicit.reportName is not a function

1 个答案:

答案 0 :(得分:0)

问题在于您没有类实例,因此方法reportName()不可用

report不是类Report的类实例

在您的模板中,而不是{{report.reportName()}}

使用:

{{report.reportType + ' ' + report.reportNumber}}