Добавление атрибута в тег при условии

181
01 марта 2018, 11:31

В PrimeNG есть компонент p-table для отображения таблицы. Для каждой колонки таблицы можно указать, можно будет ли менять её размер, для этого необходимо добавить атрибут pResizableColumn.
Я хочу иметь возможность из ts кода задать возможность изменения размера для каждой колонки. В итоге имеем примерно такой код:

<ng-template ngFor let-col [ngForOf]="columns">
    <th *ngIf="col.canResize" pResizableColumn>
        {{col.header}}
    </th>
    <th *ngIf="!col.canResize">
        {{col.header}}
    </th>
</ng-template>

Но, если я захочу еще динамически устанавливать возможность перестановки колонок, то код разрастается:

<ng-template ngFor let-col [ngForOf]="columns">
    <th *ngIf="col.canResize && col.canReorder" pResizableColumn pReorderableColumn>
        {{col.header}}
    </th>
    <th *ngIf="!col.canResize && col.canReorder" pReorderableColumn>
        {{col.header}}
    </th>

    <th *ngIf="col.canResize && !col.canReorder" pResizableColumn>
        {{col.header}}
    </th>
    <th *ngIf="!col.canResize && !col.canReorder">
        {{col.header}}
    </th>
</ng-template>

Можно ли как-то проще управлять наличием какого-то атрибута? Хотелось бы что-то вроде:

 <th *ngFor="let col of columns" pResizableColumn="col.canResize" pReorderableColumn="col.canReorder">
      {{col.header}}
 </th>