我正在使用Angular2及其ngFor。我想将类添加到奇数行和偶数行,因此我可以通过颜色将它们分开。
这是我的代码(实际上不起作用):
<div *ngFor="#meeting of meetingList; #index=index; #odd=odd; #even=even;"
class="row"
[ngClass]="{ odd: odd, even: even }
">
<div class="col"></div>
<div class="col"></div>
</div>
虽然如果我这样做,代码可以工作:
<div *ngFor="#meeting of meetingList; #index=index; #odd=odd; #even=even;"
class="row"
">
<div class="col" [ngClass]="{ odd: odd, even: even }"></div>
<div class="col" [ngClass]="{ odd: odd, even: even }"></div>
</div>
有没有更好的方法将类放入行而不是列?提前谢谢。
答案 0 :(得分:37)
您的第一个代码示例工作正常Plunker example
@Component({
selector: 'my-app',
styles: [`
.even { color: red; }
.odd { color: green; }
`],
template: `
<h2>Hello {{name}}</h2>
<div *ngFor="let meeting of meetingList; let index=index; let odd=odd; let even=even;"
class="row"
[ngClass]="{ odd: odd, even: even }">{{meeting}}
<div class="col"></div>
<div class="col"></div>
</div>
`
})
export class App {
meetingList = ['a', 'b', 'c'];
}
答案 1 :(得分:3)
如果不是odd
,则还是even
。因此,节省一些字节和周期:
<div *ngFor="let meeting of meetingList; let odd = odd" [ngClass]="odd ? 'odd' : 'even'">
{{meeting}}
</div>
使用nth-child
选择器和odd
关键字,您甚至可以做得更好,并且仅在css中这样做:
<style>
p:nth-child(odd) {
background: gray;
}
p:nth-child(even) {
background: white;
}
</style>
<p>First paragraph.</p>
<p>Second paragraph.</p>
<p>Third paragraph.</p>
<p>Fourth paragraph.</p>
答案 2 :(得分:2)
让index = index;
然后[index] = index;
然后[class.odd] =&#34;索引%2&#34 ;;
答案 3 :(得分:1)
为我工作
<ion-card *ngFor ="let item of itemsCat; let odd=odd; let even=even " [ngClass]="{ odd: odd, even:even}" >
.....
</ion-card>