Angular 为 td 元素添加 data-label 属性

标签 angular angular2-template

我想将属性 data-label 添加到每个 td 元素以使表格响应。它必须始终根据用户语言正确翻译,所以我想从 th 变量中获取它。

模板

<div class="p-3" *erzLet="state.entries$ | async as entries">
  <ng-container *ngIf="!(state.loading$ | async); else loading">
    <ng-container *ngIf="entries && entries.length > 0; else noEntries">
      <table class="table">
        <thead>
          <tr>
            <th scope="col">
              {{ 'evaluate-absences.list.header.student' | translate }}
            </th>
            <th>{{ 'evaluate-absences.list.header.total' | translate }}</th>
            <th>
              {{ 'evaluate-absences.list.header.valid-excuse' | translate }}
            </th>
            <th>
              {{ 'evaluate-absences.list.header.without-excuse' | translate }}
            </th>
            <th>
              {{ 'evaluate-absences.list.header.unconfirmed' | translate }}
            </th>
            <th>{{ 'evaluate-absences.list.header.late' | translate }}</th>
            <th>{{ 'evaluate-absences.list.header.halfday' | translate }}</th>
          </tr>
        </thead>
        <tbody>
          <tr *ngFor="let entry of entries">
            <td data-label={{ 'evaluate-absences.list.header.student' | translate }}>{{ entry.StudentFullName }}</td>
            <td data-label="TOTAL">{{ entry.TotalAbsences }}</td>
            <td data-label="ENTSCHULDIGT">
              {{ entry.TotalAbsencesValidExcuse }}
            </td>
            <td data-label="UNENTSCHULDIGT">{{ entry.TotalAbsencesWithoutExcuse }}</td>
            <td data-label="OFFEN">{{ entry.TotalAbsencesUnconfirmed }}</td>
            <td data-label="VERSPÄTUNG">{{ entry.TotalIncidents }}</td>
            <td data-label="HALBTAGE">{{ entry.TotalHalfDays }}</td>
          </tr>
        </tbody>
      </table>
    </ng-container>
    <ng-template #noEntries>
      <p>{{ 'evaluate-absences.no-entries' | translate }}</p>
    </ng-template>
  </ng-container>
  <ng-template #loading>
    <erz-spinner></erz-spinner>
  </ng-template>
</div>

最佳答案

您可以使用 [attr.ATTRIBUTENAME] 在 Angular 中使用动态属性,因此在您的情况下:[attr.data-label]="HALBTAGE"

关于Angular 为 td 元素添加 data-label 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58030743/

相关文章:

angular - Angular 2 中用于身份验证的良好模板策略

angular - if else 在 angular2 模板语法中

angular - 使用多个 NG Bootstrap 日期选择器时混淆按钮焦点

Angular Material Table filterPredicate 过滤对象

javascript - 无法添加属性 "X",对象不可扩展 Angular 9

Angular2 通知组件关于在外部创建的 DOM 元素

angular - 在 angular2 中,我有一个用于两个组件的管道,我想知道如何在全局范围内共享它

javascript - Angular 2 未捕获错误 : Template parse errors:

twitter-bootstrap - 如何使 Bootstrap 模态弹出窗口在 Angular2 中可移动

Angular2 模板 - 使用变量不在此