角度 *ng用于设置第一个元素



您好,我想在我的 ngFor 中设置数组的第一个对象。这就是我到目前为止所拥有的

<div *ngFor="let media of allMedia; let first = first; let last = last" 
[ngClass]="{ first: first, last: last }" >
<div *ngIf="media.type==='A'">SOME CODE</div>
<div *ngIf="media.type==='V'" class="header-unit **first**" >SOME CODE</div>
<div *ngIf="media.type==='B'">SOME CODE</div>
</div>

类型='v' 不首先显示。我做错了什么?

你忘记了ngClass中的单引号

[ngClass]="{'first': first, 'last': last }"

但是如果你想先显示media.type=="V"需要转换数组

this.allMedia.sort((a,b)=>a.type=='V' && b.type!='V'?-1:
a.type!='V' && b.type=='V'?1:0
)

将其包装在自己的*ngIf指令中。尝试以下操作

<div *ngFor="let media of allMedia; let first=first; let last=last" [ngClass]="{ first: first, last: last }" >
<div *ngIf="media.type==='A'">SOME CODE</div>
<ng-container *ngIf="first">
<div *ngIf="media.type==='V'" class="header-unit" >SOME CODE</div>
</ng-container>
<div *ngIf="media.type==='B'">SOME CODE</div>
</div>

最新更新