Angular6多个ngFor用于单行-如何在一个ngFor中传递两个值

时间:2018-10-26 01:45:39

标签: javascript html angular typescript ngfor

在表头中,我具有动态列和搜索排序功能。但是对于特定的列,我需要禁用排序功能。 在表格

  create_table "current_item", force: :cascade do |t|
    t.string   "name",                default: "", null: false
    t.string   "description"
    t.integer  "cost"
    t.datetime "created_at",                       null: false
    t.datetime "updated_at",                       null: false
    t.string   "user_id"
  end

构造函数中,我将值作为数组传递。不是仅来自服务器的静态消息

<thead>
      <tr class="table-head">
        <th *ngFor="let colName of reportColHeader; let i = index">
          {{colName}}
          <i [class]="sortIcons[colName]" (click)="toggleSort(colName, i)"></i>
        </th>
      </tr>
    </thead>

因此结果将如下所示

this.reportColHeader = ['ID', 'LABEL 1', 'LABEL 2', 'More'];

在这里我要禁用特定列的 (排序功能)。
不仅最后一列或第n列。 我的假设是,可能还会有一个类似

的数组
<tr>
 <th>ID <i></i></th>
 <th>LABEL 1 <i></i></th>
 <th>LABEL 2 <i></i></th>
 <th>More <i></i></th>
</tr>

通过此值可以显示或隐藏this.reportColHeaderOptions = ['true', 'true', 'false', 'false'];
因此,我该如何在<i></i>内部传递它。
注意:,这里我不能使用索引,因为索引会更改。
但是我可以按照相同的顺序关注 this.reportColHeader this.reportColHeaderOpions

1 个答案:

答案 0 :(得分:0)

您为什么不能使用index?您可以这样做:

    <th *ngFor="let colName of reportColHeader; let i = index">
      {{colName}}
      <i *ngIf="reportColHeaderOpions[i]=='true'"></i>
    </th>