Binding di Massa delle Classi CSS in Angular

Con la direttiva ngClass è possibile attivare e disattivare un intero insieme di classi CSS su un tag. La direttiva accetta come valore un oggetto, le cui chiavi sono le classi, e i cui valori sono valori booleani. La classe sarà attivata se per essa è impostato il valore true, e disattivata se false.

Vediamo nella pratica. Supponiamo di avere le seguenti classi:

app/app.component.css.blue {
  color: blue;
}

.bold {
  font-weight: bold;
}

Vediamo con degli esempi come attivare e disattivare queste classi per un blocco.

Esempio

Attiviamo una classe e disattiviamone un'altra:

app/app.component.html<div [ngClass]="{blue: true, bold: false}">
  text
</div>

Esempio

Supponiamo che gli stati delle classi siano memorizzati in proprietà della classe:

app/app.component.tsexport class AppComponent {
  public isBlue: boolean = true;
  public isBold: boolean = false;
}

Colleghiamo la visibilità della classe in base ai valori delle nostre proprietà:

app/app.component.html<div [ngClass]="{blue: isBlue, bold: isBold}">
  text
</div>

Esempio

In una proprietà può esserci un intero oggetto con classi e stati:

app/app.component.tsexport class AppComponent {
  public styles = {
    blue: false,
    bold: true,
  }
}

Colleghiamo questo oggetto al nostro blocco:

app/app.component.html<div [ngClass]="styles">
  text
</div>

Esempio

È possibile ottenere i valori per il nostro oggetto da altre proprietà della classe:

app/app.component.tsexport class AppComponent {
  public isBlue: boolean = false;
  public isBold: boolean = true;

  public styles = {
    blue: this.isBlue,
    bold: this.isBold,
  }
}

Colleghiamo questo oggetto al nostro blocco:

app/app.component.html<div [ngClass]="styles">
  text
</div>

Compiti Pratici

Задание 1

Create due classi CSS. Che una di esse definisca lo sfondo del blocco, e la seconda la dimensione del font.

Задание 2

Create due pulsanti. Che la pressione del primo pulsante attivi/disattivi la prima classe, e la pressione del secondo - attivi/disattivi la seconda classe.