В Angular вы можете использовать ngClass для условного применения вашего класса следующим образом.
<div
*ngFor="let group of step.groups; let firstItem = first;"
class="layout--stepper__subgroup"
ngClass]="{'is-active': group.prop === activeProp}"
(click)="scrollToSection(group)">
p class="t-data">{{group.header}}</p>
</div>
scrollToSection(group) {
this.activeProp = group.prop;
let scroll = document.querySelector(`#${group.prop}`).scrollIntoView();
}
Теперь, когда я нажимаю на элемент в моем списке, класс is-active
будет применяться к этому конкретному элементу списка.Однако что, если я хочу применить is-active
к первому элементу в списке по умолчанию?
Если я изменю свой код на:
ngClass]="{'is-active': group.prop === activeProp || firstItem}"
Теперь оба первых элемента насписок и выбранный элемент будут иметь класс is-active
.Как установить для первого элемента в списке класс is-active
по умолчанию, а затем удалить его, когда я щелкну другой элемент в списке?