Вы можете сделать что-то вроде этого:
Компонент ts
@Component({
selector: 'app-my',
templateUrl: './my.component.html',
styleUrls: ['./my.component.css']
})
export class MyComponent implements OnInit {
selBtn: string;
constructor() { }
ngOnInit() {
}
performA(): void {
this.selBtn = 'a';
}
performB(): void {
this.selBtn = 'b';
}
performC(): void {
this.selBtn = 'c';
}
performD(): void {
this.selBtn = 'd';
}
performE(): void {
this.selBtn = 'e';
}
}
Шаблон
<div class="container">
<div class="row">
<div class="clearfix text-center">
<span class="inline">Filter results by :</span>
<div class="float-right">
<button type="submit" class="btn {{ selBtn === 'a' ? 'btn-primary' : 'btn-secondary' }}" (click)="performA()">A</button>
<button type="submit" class="btn {{ selBtn === 'b' ? 'btn-primary' : 'btn-secondary' }}" (click)="performB()">B</button>
<button type="submit" class="btn {{ selBtn === 'c' ? 'btn-primary' : 'btn-secondary' }}" (click)="performC()">C</button>
<button type="submit" class="btn {{ selBtn === 'd' ? 'btn-primary' : 'btn-secondary' }}" (click)="performD()">D</button>
<button type="submit" class="btn {{ selBtn === 'e' ? 'btn-primary' : 'btn-secondary' }}" (click)="performE()">E</button>
</div>
</div>
</div>
</div>
В противном случае вы можете назначить .btn-Secondary для всех ваших кнопок,затем добавление btn-primary только при необходимости, например, так:
<button type="submit" class="btn btn-secondary" [ngClass]="{'btn-primary' : selBtn === 'e'}" (click)="performE()">E</button>
При использовании этого решения вам может понадобиться настроить ваш css, чтобы быть уверенным, что класс btn-primary переопределяет все свойства класса btn-primary