Я попробовал использовать приведенную ниже ссылку stackblitz, чтобы отобразить сообщение «Записи не найдены», когда данные таблицы отсутствуют, но проблема возникает, когда я использую источник данных типа MatTableDataSource.
ссылка stackblitz: https://stackblitz.com/edit/angular-w9ckf8
Ниже приведен фрагмент кода, который я использую:
this.serviceDataSource = new MatTableDataSource(this.services);
соответствующий html:
<table mat-table [dataSource]="serviceDataSource" matSort *ngIf="serviceDataSource.length > 0">
<ng-container *ngFor="let disCol of serviceColumns" matColumnDef="{{disCol}}">
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{disCol}}</th>
<td mat-cell *matCellDef="let rowValue">{{rowValue[disCol]}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="serviceColumns"></tr>
<tr mat-row *matRowDef="let rowdata; columns: serviceColumns;"></tr>
</table>
<div *ngIf="serviceDataSource.length === 0">No records found</div>
Ниже я получаю сообщение об ошибке:
ОШИБКА TypeError: невозможно прочитать свойство "длина" неопределенного значения.
*ngIf="!serviceDataSource.length
- person Fateme Fazli   schedule 04.12.2018