我正在尝试在具有* nfFor的行中应用剥离的效果行,但显然该类正在所有行中应用灰色背景。
我尝试类似的事情:
HTML:
<div class="row ml-4" *ngIf="visivel">
<div class="divJanelaResultadoParcial" id="autocompletar" class="col-xl-9 divJanelaResultadoParcial">
<a class="divJanelaProduto" *ngFor="let produto of produtos" [routerLink]="['/produtos', produto.id, produto.slug]" >
<div class="row linhaProduto row-striped">
<div class="col-3">
<img class="img" src="{{ produto.foto_prin_1 }}"/>
</div>
<div class="col-6">
<span class="ml-2">{{ produto.nome }}</span>
</div>
<div class="col-3">
<span class="ml-2">{{ produto.preco | currency:'BRL' }}</span>
</div>
</div>
</a>
</div>
</div>
CSS:
.img {
width:60px;
height: 60px;
}
.divJanelaResultadoParcial{
z-index: 20;
}
.linhaProduto{
display: flex;
align-items: center;
}
.row-striped:nth-of-type(odd){
background-color: #efefef;
}
.row-striped:nth-of-type(even){
background-color: #ffffff;
}
这是结果:
答案 0 :(得分:1)
* ngFor不是标识项而是进行循环。
如果您希望产生条纹效果,请尝试以下操作:
HTML:
<li *ngFor="let item of [1,2,3,4,5,6]; let odd = odd">
<p [class.odd]="odd">item</p>
</li>
CSS:
.odd{
background:grey
}
答案 1 :(得分:1)
您可以使用ngFor中的偶数和奇数功能。
*ngFor="let produto of produtos; let even = even; let odd = odd"
<div class="row ml-4" *ngIf="visivel">
<div class="divJanelaResultadoParcial" id="autocompletar" class="col-xl-9 divJanelaResultadoParcial">
<a class="divJanelaProduto" *ngFor="let produto of produtos; let even = even; let odd = odd" [routerLink]="['/produtos', produto.id, produto.slug]">
<div class="row linhaProduto row-striped" [ngClass]="{ odd: odd, even: even }">
<div class="col-3">
<img class="img" src="{{ produto.foto_prin_1 }}"/>
</div>
<div class="col-6">
<span class="ml-2">{{ produto.nome }}</span>
</div>
<div class="col-3">
<span class="ml-2">{{ produto.preco | currency:'BRL' }}</span>
</div>
</div>
</a>
</div>
</div>
.row-striped.even {
background-color: #ffffff;
}
.row-striped.odd {
background-color: #efefef;
}