【发布时间】:2018-10-20 07:11:43
【问题描述】:
我不太确定这样的事情是否可行,但在我的 html 组件中说我有一个像这样的 ngFor..
<div *ngFor="let card of cards">
... stuff in here
</div>
现在说我有一个这样的类名数组
classNames = [
'red',
'yellow',
'blue',
'green'
]
在我的 *ngFor 里面我有一个这样的 div
<div *ngFor="let card of cards">
<div [class]='...'>
<div class="card">
</div>
</div>
</div>
基本上我想要发生的是 ngFor 中的每个项目通过 classNames 数组进行循环并将其动态添加到传入数据中,例如
假设我的卡片中有 6 个项目,所以每张卡片都需要一个类名,因此它会遍历类名并给它一个类,就像这样..
<div [class]='red'>
<div class="card">
</div>
</div>
<div [class]='yellow'>
<div class="card">
</div>
</div>
<div [class]='blue'>
<div class="card">
</div>
</div>
<div [class]='green'>
<div class="card">
</div>
</div>
<div [class]='red'>
<div class="card">
</div>
</div>
<div [class]='yellow'>
<div class="card">
</div>
</div>
等等等等..
我怎么能完成这样的事情?
编辑
component.html
<div class="card" *ngFor="let card of cards; let i = index">
<div [class]="classNames[i%classNames.length]">
....
</div>
</div>
组件.ts
export class...
classNames = [
'light-green',
'dark-green',
'aqua',
'blue',
'blue-purple',
'purple',
'purple-pink',
'purple-orange'
];
【问题讨论】:
-
你必须在 .ts 代码中初始化数组
标签: javascript css angular typescript