Angular 2 ngIf и NgFor распадается при наличии нескольких столбцов данных

У меня есть угловой код 2, где я использую *ngFor для цикла в некотором пакете, а затем я использую ngIf для заголовка таблицы и затем отображаю значения соответственно. Проблема в том, что когда таблица имеет только одну упаковку, она прекрасно работает. когда у меня более одного пакета, в этот момент код разбивается. Когда в пакете есть только один столбец данных, он работает нормально, но если в нем несколько данных, это означает, что несколько столбцов в это время перестают работать, если функция щелчка - "Выбрать все и снять все". Может кто-то направить, что может быть проблемой в коде ниже.

угловатый

<ng-container *ngFor="let pack of myobj.packages">
   <th *ngIf="myobj.type != 'A' && myobj.type != 'B'">
       {{pack.name}} 
   </th>
   <th *ngIf="(myobj.type!= 'A' && myobj.type != 'B') && myobj.electable">
       <span>
          <a (click)="myfn()">Elect All</a>
          <span *ngIf="myobj.type!='O'">|<a (click)="myfn()">Unelect All</a>
          </span>
       </span>
       <ng-container *ngFor="let pack of myobj.packages">
           <th *ngIf="myobj.type=='B' || myobj.type=='A'">
               {{pack.name}} 
           </th>
       </ng-container>
   </th>
</ng-container> 

1 ответ

Кажется, вы проверяли неправильное значение и имели дублированное имя массива:

"дай пачку myobj.packages"

если ваш массив myobj.packages имеет такие свойства, как 'type', 'name', 'electable', попробуйте следующий код

<ng-container *ngFor="let pack of myobj.packages">
   <th *ngIf="pack.type != 'A' && pack.type != 'B'">
       {{pack.name}} 
   </th>
   <th *ngIf="(pack.type!= 'A' && pack.type != 'B') && pack.electable">
       <span>
          <a (click)="myfn()">Elect All</a>
          <span *ngIf="pack.type!='O'">|<a (click)="myfn()">Unelect All</a>
          </span>
       </span>
       <ng-container *ngFor="let pack1 of myobj.packages">
           <th *ngIf="pack1.type=='B' || pack1.type=='A'">
               {{pack1.name}} 
           </th>
       </ng-container>
   </th>
</ng-container>
Другие вопросы по тегам