我有一个角度 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>