0
У меня есть метка div, которая перемещается в каждую цену продукта, и нажав на цену продукта, установите активный класс в тег элемента метки.Как удалить активный класс при нажатии на другую метку метки
Вопрос: как удалить активный класс, если я нажму на другой элемент метки?
<div class="btn-group cx-cont" *ngFor="let price of product.price" data-toggle="buttons" >
<label class="btn btn-primary " id="cart-label" [ngClass]="{'active' : price.active == true }">
<input type="radio" class="cart-check" ng-class="{'active': isActive}" (click)="selectProduct(price.id,price, price.unit)" autocomplete="off">
<div class="cart-price">{{price.price | currency: 'USD':true}}</div> <div class="cart-unit">{{price.unit}}</div>
</label>
</div>
У меня есть [ngClass]="{'active' : price.active == true }"
price.active устанавливается в это компонент по методу selectProduct
selectProduct(id, price, unit) {
this.price_id = id;
this.price = price;
this.price.active = true;
this.unit = unit;
this.isClassVisible = true;
this.selectedProd = true;
// console.log(this.cart);
}
Просто храните 'active_price_id' и в шаблоне' {'active': active_price_id == price.id} ' –
Какое должно быть начальное значение active_price_id? – dashred
Если вы хотите, чтобы все 'label' inactive -> некоторые идентификаторы, которые определенно не могут существовать в вашем приложении. Если 'priceId' является индексом' autoincrement' sql, то вы можете установить, например, «-1». Или сделайте свой тип переменной 'any' (если вы используете машинопись) и присвойте' null' ... –