javascript - 使用 Angular 将样式添加到特定的多个 div
问题描述
抱歉,我是 Angular 和 StackOverflow 的新手,我有 3 个 div,我想添加background-color: red
到所有状态为请求付款的 div。它应该使第二个和第三个 div 的背景颜色,但它只使第三个
html
<div class="col-md-4 mb-4" *ngFor="let invoice of Invoices let i=index">
<div id="{{'activeInvoice'+i}}" class=" d-flex justify-content-between align-items-center w-100 card-header ">
<strong class="text-gray-dark">{{langVar.Invoice}} {{invoice.invoiceNumber}}</strong>
<i class="fa fa-info-circle" title="show Details" aria-hidden="true" (click)="showInvoiceDetailsModal(invoice.id)"></i>
</div>
</div>
for (var i = 0; i <= this.Invoices.length-1; i++) {
console.log("invoice num", this.Invoices[i].invoiceNumber);
console.log("order", this.Invoices[i].order.length);
for (var j = 0; j <= this.Invoices[i].order.length - 1; j++) {
console.log("STATUS", this.Invoices[i].order[j].status);
if (this.Invoices[i].order[j].status == 'requestingPayment') {
var elementValue = 'activeInvoice'+i;
setTimeout(() => {
document.getElementById(elementValue).classList.add("cardBackGround");
}, 1000);
}
else {}
}
}
解决方案
您可以使用 ngClass 有条件地以角度添加 CSS 类
<div [ngClass]={'cardBackGround': true }> </div>
// 应用你的条件而不是 true
推荐阅读
- lambda - 在 kotlin 中生成带有 lambda 的列表
- debugging - 如何在寄存器中设置 GDB 读取观察点?
- javascript - 如何使用文本预览在 html/css/js 中创建可扩展的博客文章
- angular - Angular Check 子组件已完成来自父组件的异步数据
- c++ - 二叉搜索树的递归布尔函数
- elasticsearch - 弹性搜索的限制问题
- python - 使用pandas将具有匹配索引的多行动态转换为多列
- c++ - 在 Windows VisualStudio/Visual C++ 2017 中使用本机 WebRTC 库
- python - 将熊猫数据透视表转换为二维数组
- php - WP按标题字母顺序对自定义帖子进行排序