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> 

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

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

相关内容

  • 没有找到相关文章

最新更新