【发布时间】:2020-03-11 15:09:09
【问题描述】:
我想知道如何在使用 Angular 单击时将 CSS 类添加到只有一个按钮。现在,当我单击任何按钮时,该类将添加到所有按钮中。
我想为每个被点击的按钮添加 css 类。
我可以通过为每个按钮创建几个不同的 css 类来做到这一点,然后当单击按钮时,它只会为该按钮添加特定的类,但是有更好的方法吗?
任何帮助将不胜感激,谢谢。
//btns.component.html
<div class="btn-container">
<div class="btn-col1">
<button class="stepOne-btns" (click)="wasClicked()" [ngClass]="btnStatus ? 'active' : 'inactive'"><img
src="../../assets/images/button-icons/home-icon.png" alt=""><strong>Home</strong></button>
<button class="stepOne-btns" (click)="wasClicked()" [ngClass]="btnStatus ? 'active' : 'inactive'"><img
src="../../assets/images/button-icons/life-icon.png" alt=""><strong>Life</strong></button>
<button class="stepOne-btns" (click)="wasClicked()"[ngClass]="btnStatus ? 'active' : 'inactive'"><img src="../../assets/images/button-icons/car-icon.png"
alt=""><strong>Auto</strong></button>
</div>
<div class="btn-col2">
<button class="stepOne-btns" (click)="wasClicked()" [ngClass]="btnStatus ? 'active' : 'inactive'"><img
src="../../assets/images/button-icons/condo-icon.png" alt=""><strong>Condo</strong></button>
<button class="stepOne-btns" (click)="wasClicked()" [ngClass]="btnStatus ? 'active' : 'inactive'"><img
src="../../assets/images/button-icons/flood-icon.png" alt=""><strong>Flood</strong></button>
<button class="stepOne-btns" (click)="wasClicked()" [ngClass]="btnStatus ? 'active' : 'inactive'"><img
src="../../assets/images/button-icons/umbrella-icon.png" alt=""><strong>Umbrella</strong></button>
</div>
</div>
//btns.component.ts
btnStatus: boolean = false;
wasClicked() {
this.btnStatus = !this.btnStatus;
console.log(this.btnStatus);
}
//btns.component.css
.active {
border: 4px solid $primary-color;
}
.inactive{
border: none;
}
【问题讨论】:
-
Angular 带来了一个解决方案,但你必须使用他们建议你的东西:看看Angular router 和Angular router link active
标签: css angular typescript button