【发布时间】:2019-07-02 08:59:39
【问题描述】:
我正在使用 Angular 延迟加载。从一个子组件切换到另一个子组件时,在显示表格 mat-table 且数据未显示在表格中的组件处出现错误。
TypeError:无法读取未定义的属性“模板” 在 MatRowDef.push../node_modules/@angular/cdk/esm5/table.es5.js.BaseRowDef.extractCellTemplate
<ng-container *ngIf="listService.scheduledDdataSource">
<table mat-table [dataSource]="listService.scheduledDdataSource" matSort class="mat-elevation-z8">
<ng-container matColumnDef="date">
<th mat-header-cell *matHeaderCellDef mat-sort-header><b>Date</b></th>
<td mat-cell *matCellDef="let element"> {{element.date}} </td>
</ng-container>
<ng-container matColumnDef="branch">
<th mat-header-cell *matHeaderCellDef mat-sort-header><b>Branch</b></th>
<td mat-cell *matCellDef="let element"> <a href="//{{element.branch}}"
target="_blank">{{element.branch}}</a>
</td>
</ng-container>
<ng-container matColumnDef="version">
<th mat-header-cell *matHeaderCellDef mat-sort-header><b>Version</b></th>
<td mat-cell *matCellDef="let element"> {{element.version}} </td>
</ng-container>
<ng-container matColumnDef="user">
<th mat-header-cell *matHeaderCellDef mat-sort-header><b>User</b></th>
<td mat-cell *matCellDef="let element"> {{element.user}} </td>
</ng-container>
<ng-container matColumnDef="deployed">
<th mat-header-cell *matHeaderCellDef mat-sort-header><b>Status</b></th>
<td mat-cell *matCellDef="let element"> {{element.deployed}} </td>
</ng-container>
<ng-container matColumnDef="domain">
<th mat-header-cell *matHeaderCellDef mat-sort-header><b>Domain</b></th>
<td mat-cell *matCellDef="let element"> {{element.domain}} </td>
</ng-container>
<ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef>
<div class="action-icons">
<div class="item">
<td mat-cell *matCellDef="let element">
<div class="material-icons">
<button mat-button appModalDirective (click)="listService.selectRow(element)"
[modalId]="'cancel'">
<img src="./assets/icons/baseline-cancel-24px.svg">
</button>
</div>
</td>
</div>
</div>
</th>
</ng-container>
<tr mat-header-row *matHeaderRowDef="listService.displayedColumnsSch"></tr>
<tr mat-row *matRowDef="let row; columns: listService.displayedColumnsSch;">
</tr>
</table>
</ng-container>
【问题讨论】:
标签: angular angular-material lazy-loading mat-table