angular - 在通过某个索引的循环创建的元素上添加一个类
问题描述
在将第四个元素添加到 DOM 之后,我试图ngClass
在任何 span 元素上添加一个类(通过单击按钮来增加counter
变量并切换段落的可见性),但我不知道如何使其成为前四个跨度中的任何一个在达到第五个跨度后也不会添加此类的位置。我觉得这很容易实现,但我被卡住了。
我尝试向 中添加索引*ngFor
,然后根据索引添加类,但这产生了相同的结果。
模板:
<p *ngFor="let click of buttonClicks;">
<span [ngClass]="{ 'white': counter > 4 }">{{ [click] }}</span>
</p>
<button (click)="displayDetails()">Display Details</button>
<p *ngIf="detailsVisible">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Doloribus quasi id, molestiae doloremque alias non adipisci placeat corrupti commodi minus voluptas debitis eaque iure obcaecati minima neque et molestias atque.</p>
零件:
export class AppComponent {
detailsVisible: boolean = false;
buttonClicks: Array<number> = [];
counter: number = 0;
displayDetails() {
this.detailsVisible = !this.detailsVisible;
this.buttonClicks.push(this.counter);
this.counter++;
}
}
解决方案
你不需要任何计数器。您需要每个跨度的索引:
<p *ngFor="let click of buttonClicks; index as i">
<span [ngClass]="{ 'white': i > 4 }">{{ [click] }}</span>
</p>
或者,由于 click 的值是索引,您可以只使用它的值:
<p *ngFor="let click of buttonClicks">
<span [ngClass]="{ 'white': click > 4 }">{{ [click] }}</span>
</p>
推荐阅读
- c++ - 如何总结各种继承类C++的std :: list?
- python - 如何添加时间到日期时间?
- powerbi - 在 DAX 的过滤器函数中动态使用日期的最佳方法是什么
- javascript - 将博客文章作为纯文本存储在 mongodb 中
- python-3.x - 无法打印正确的混淆矩阵,并且热图中的值也在示例 2e+2、e+4 等中打印
- vba - On Error Resume Next 不工作/创建文件夹错误 440
- javascript - 是否可以使用 Jquery 的每个函数获取表行的父项和子项?
- python - 使用用户代理标头时 Webscraping CrunchBase 访问被拒绝
- ios - GID didSignInFor 在哪里实际登录了用户?
- r - R函数使用相同和不同列中的前行?