为什么 mat-tables matRowDef 包含 2 个变量?

Why does mat-tables matRowDef contain 2 variables?

我刚刚从 angular material io 中实现了一个示例 mat-table。我正在浏览模板代码,但我不明白最后一行 matRowDef 中 "let row;..." 的需要。删除它时,table 运行仍然正常。谁能告诉我这条线是做什么用的?

<table mat-table [dataSource]="dataSource" class="mat-elevation-z8">

<!--- Note that these columns can be defined in any order.
      The actual rendered columns are set as a property on the row definition" -->

<!-- Position Column -->
<ng-container matColumnDef="position">
  <th mat-header-cell *matHeaderCellDef> No. </th>
  <td mat-cell *matCellDef="let element"> {{element.position}} </td>
</ng-container>

<!-- Name Column -->
<ng-container matColumnDef="name">
  <th mat-header-cell *matHeaderCellDef> Name </th>
  <td mat-cell *matCellDef="let element"> {{element.name}} </td>
</ng-container>

<!-- Weight Column -->
<ng-container matColumnDef="weight">
  <th mat-header-cell *matHeaderCellDef> Weight </th>
  <td mat-cell *matCellDef="let element"> {{element.weight}} </td>
</ng-container>

<!-- Symbol Column -->
<ng-container matColumnDef="symbol">
  <th mat-header-cell *matHeaderCellDef> Symbol </th>
  <td mat-cell *matCellDef="let element"> {{element.symbol}} </td>
</ng-container>

<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>

要获得整行值,我们需要它。正如你在下面看到的,我想在一行中获得整行值点击我使用了 let row

    <tr mat-row *matRowDef="let row; columns: displayedColumns;"
    (click)="selection.toggle(row)">