Динамическое назначение цвета фона и цвета рамки кнопкам в angular

У меня есть набор цветов,

colors = ['red', 'green', 'blue', 'yellow', 'black']

Кроме того, у меня есть такой массив

demo = ['de1', 'de2', 'de3', 'de4', 'de5', 'de6', 'de7', 'de8', 'de9', 'de10', 'de11', 'de12', 'de13', 'de14'] 

и так далее, который является динамическим, который я получаю в ответ на вызов API, из которого я подготавливаю кнопки.

Мне нужно присвоить background-color и border-color из colors [] каждому элементу в demo [] в том же порядке. Нужна помощь в этом.

ТИА

не могли бы вы подробнее рассказать о фактическом примере кода, т. Е. С точки зрения тегов, которые вы использовали в этом посте ngfor, ng-class. Я не могу точно понять, что вы хотите, не могу понять, к чему относятся элементы в демонстрационном массиве. Это статические идентификаторы кнопки?

HamzaFarooq 21.03.2022 08:36

Пожалуйста, уточните вашу конкретную проблему или предоставьте дополнительную информацию, чтобы выделить именно то, что вам нужно. Как сейчас написано, трудно точно сказать, о чем вы спрашиваете.

Community 21.03.2022 10:15
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
41
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

На самом деле у вас нет элементов в демонстрации вашего массива (ваш массив представляет собой массив строк)

<!--imagine an array of "items"-->
<div *ngFor = "let item of items">
  .....
</div>

Затем вы можете использовать некоторые из них, например

<div *ngFor = "let item of items;let i=index">
  <div [style.color] = "colors[i%5]">I'm in color {{colors[i%5]}}</div>
</div>

Вы также можете использовать ViewChildren

<div *ngFor = "let item of items;let i=index">
  <div #dd>I'm in color {{colors[i%5]}}</div>
</div>

И в вашем .ts

@ViewChildren('dd') items:QueryList<ElementRef>
ngAfterViewInit()
{
   this.items.forEach((x:ElementRef,i:number)=>{
          x.nativeElement.style.color=this.colors[i%5]
   })
}

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