当具有多列数据时,Angular 2 ngIf和NgFor会中断

时间:2018-02-04 00:39:29

标签: angular typescript ngfor ng-container

我有一个有角度的2代码,我使用* ngFor在一些包中循环,然后我使用ngIf表头,然后相应地显示值。问题是当桌子只有一个包时,它的效果非常好。当我有多个软件包时,代码就会崩溃。当包只有一列数据时,它工作正常,但是当它有多个数据意味着多个列定时点击功能 - “全选并取消全部”停止工作。有人可以指导下面的代码中可能存在的问题。

render json: school.to_json(include: { head_office: { include :class_rooms } })

1 个答案:

答案 0 :(得分:0)

您似乎检查错误的值并且具有重复的数组名称:

"包装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>