我正在使用Angular 9,使用引导4卡应用NGFOR来绘制来自数据库的尽可能多的元素。我有以下数组,该卡具有不同的样式,我希望它们以随机方式应用于每个数组。public color_border = ["border-left-warning", "border-left-info", "border-left-primary"]卡代码如下:必须更改 div 卡左边框信息。我已经尝试了一个新的NGFOR,但它复制了一切。<!-- Pending Requests Card Example --> <div class="col-xl-3 col-md-6 mb-4" *ngFor="let data of miDataInterior.DatagreenhouseRecuperado; let i = index"> <div class="card border-left-info shadow h-100 py-2"> <div class="card-body"> <div class="row no-gutters align-items-center"> <div class="col mr-2"> <div class="text-xs font-weight-bold text-warning text-uppercase mb-1">{{data.medidas[0].sensor_type[0].name_comun}}</div> <font SIZE=3> {{data.medidas[0].marca}} </font> <font SIZE=3>({{data.medidas[0].recvTime | date:'dd-MM-yy h:mm:ss a'}})</font> <div class="h5 mb-0 font-weight-bold text-gray-800">{{data.medidas[0].attrValue | number:'1.0-1'}} {{data.medidas[0].sensor_type[0].medida}}</div> </div> <div class="col-auto"> <i class="fas fa-chart-bar fa-2x text-gray-300"></i> </div> </div> </div> </div> </div>如何应用该 div 中color_border变量中包含的内容?感谢您的帮助。
2 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
备用边框
[ngClass]="color_border[i%3]"
一个随机的你需要做一个函数(你不能在.html内使用数学)
[ngClass]="getRandomColor()"
getRandomColor()
{
return this.color_border[Math.floor(Math.random()*this.color_border.length]
}
如果你 miDataInterior.Datagreenhouse避难所有一个属性“颜色”从 0 到 2 你可以使用
[ngClass]="color_border[data.color]"
注意 有几种方法可以使用 [ngClass],请参阅文档
精慕HU
TA贡献1845条经验 获得超8个赞
试试这个。
<div *ngFor="let color_border of color_border" class="card shadow h-100 py-2 " [ngClass]="{{color_border}}">
添加回答
举报
0/150
提交
取消