属性绑定在ngFor循环中不起作用

时间:2019-10-25 10:36:34

标签: angular-material angular7

将隐藏属性绑定到变量时,它可以工作,但在ngFor值的循环中进行插值绑定时,则无法工作。

我已经尝试过[hidden] =“!((column.key)}”和hidden =“!{{column.key}}”“和hidden =” {{!column.key}}“”不能那样工作,但是直接绑定到类似[hidden] =“!name”的变量时有效 名称是我的布尔变量之一。

<table mat-table [dataSource]="dataSource">
    <ng-container matColumnDef="{{column.key}}" *ngFor="let column of displayedColumns">
        <th mat-header-cell *matHeaderCellDef [hidden]="!(column.key)"> {{column.key}} </th>
        <td mat-cell *matCellDef="let element" [hidden]="!(column.key)"> {{element[column.value]}} </td>
    </ng-container>
    </ng-container>
    <tr mat-header-row *matHeaderRowDef="columnsToDisplay"></tr>
    <tr mat-row *matRowDef="let row; columns: columnsToDisplay;"></tr>
</table>

隐藏属性应该像这样工作,因为column.key与变量名具有相同的值。

1 个答案:

答案 0 :(得分:0)

您可以使用*ngIf代替[hidden]

*ngIf="!(column.key)"将起作用