Vyhledávání na webu

html - Změna CSS z hodnoty pole


Vím, že v Angularu můžete dynamicky přidat třídu k elementu, ale jak změním hodnotu vlastnosti? Chci, aby každé tlačítko mělo další barvu z pole. Mám pocit, že můj příklad to dobře vysvětluje:

<button style="background-color: arrThemes[0]['spotColour']"></button>
<button style="background-color: arrThemes[1]['spotColour']"></button>
<button style="background-color: arrThemes[2]['spotColour']"></button>

arrThemes = [
  {spotColour : 'rgb(238, 68, 136)', baseColour : 'rgb(80, 54, 78)'},
  {spotColour : 'rgb(179, 165, 136)', baseColour : 'rgb(88, 67, 59)'},
  {spotColour : 'rgb(87, 167, 82)', baseColour : 'rgb(47, 68, 46)'},
];

Odpověď č. 1

Zkuste něco jako tento výraz s

<button style="{{ 'background-color: ' + arrThemes[0]['spotColour'] }}"></button>

nebo civilnějším způsobem pomocí NgStyle

<button [ngStyle]="{'background-color': arrThemes[0]['spotColour']}"></button>

Odpověď č. 2

použijte značku ngStyle k dynamickému přidávání stylů

<button *ngFor="let item of arrThemes " [ngStyle]="{'background-color': item.spotColour }"></button>

Související články