Так что я настоящий новичок, и мне явно чего-то не хватает. Я создаю приложение в стиле викторины, и у меня есть список с радиогруппой, которая перебирает массив, используя ngfor для представления ответов.
Список представляет собой список ответов, и я пытаюсь изменить цвет элемента, когда они нажимают на него, то есть зеленый для правильного и красный для неправильного.
Он работает, но проблема в том, что он изменяет весь список (т.е. каждый элемент, а не только элемент, на который я нажал)
Вот мой код
html
<button ion-item *ngFor="let answer of question.answers; let i = index ;" [ngStyle]="{'background-color': answerColor}" wrap-text>
<ion-label class="my-label" text-wrap>{{answer.answer}}</ion-label>
<ion-radio (click)="selectAnswer(answer, question)" [checked]="answer.selected" [disabled]="hasAnswered"></ion-radio>
</button>
ts
if(answer.correct){
this.score++;
this.answerColor = '#025c25'; //correct Green Color
}
else{
this.answerColor = '#AB2020'; //Wrong Red Color
}
this.slides.lockSwipes(false);
Таким образом, нет никаких ошибок, он просто делает весь список зеленым или красным в зависимости от ответа, тогда как я просто хочу, чтобы элемент, на который я нажимаю, изменил цвет.
Я прочитал много материала о ng-class и много ссылок, но не могу понять это. Приносим извинения, если это действительно глупый вопрос или я подошел ко всему неправильно