Как я могу изменить цвет кнопок при нажатии ionic 2 angular

Я попытался изменить цвет кнопки, которую я нажимаю, но он изменил все цвета кнопок списка

это мой код:

ecardGroup(groupe) {
    if (this.hexColor === '#000000') { 
      this.hexColor = '#dddddd'
    } else {
      this.hexColor = '#000000'
    }
 }
 <ion-col col-9 class = "sildes">
                    <ion-slides slidesPerView = "{{nbPerPage}}" spaceBetween = "5">
                        <ion-slide *ngFor = "let slide of lesEboxs; let i = index">
                            <button ion-button block (click) = "ecardGroup(slide)" class = "currentGroup" [style.background-color] = "hexColor">
                                <ion-icon class = "warning"  name = "star" *ngIf = "slide.nom_gr == 'Pro'"></ion-icon>
                                {{slide.nom_gr}}
                            </button>
                        </ion-slide>
                    </ion-slides>
                </ion-col>

Вы устанавливаете background-color на hexColor для всех кнопок. В вашей функции ecardGroup(groupe) вы изменяете значение hexColor глобально, а не для конкретной кнопки. Таким образом, это изменение коснется всех кнопок background-color.

Adrien SAULNIER 18.05.2018 17:07

Сначала я попытался изменить цвет с помощью идентификатора, но я получил только неопределенный идентификатор, поэтому я попробовал этот метод

B.E2s 18.05.2018 17:11

Вы можете это попробовать? Создайте свойство slideClicked в своем классе и измените свой шаблон с помощью: <button ion-button block [style.background-color] = "(slide === this.slideClicked) ? '#000000' : '#dddddd'" (click) = "this.slideClicked = slide" class = "currentGroup">

Adrien SAULNIER 18.05.2018 17:17

Я написал решение, поэтому, если вы сможете его проверить, вы станете королем ангелов o / @ B.E2s.

Adrien SAULNIER 18.05.2018 17:52
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
4
398
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Создайте свойство slideClicked в своем классе и измените свой шаблон следующим образом:

<button ion-button block [style.background-color] = "(slide === this.slideClicked) ? '#000000' : '#dddddd'" (click) = "this.slideClicked = slide" class = "currentGroup">

Другие вопросы по теме