Nella maggior parte dei casi, la classe css che applichiamo a un controllo è più che sufficiente a stilizzarlo. Tuttavia, esistono casi in cui in vogliamo applicare anche degli stili inline tramite l'attributo HTML style in base a determinate condizioni. Angular ci permette di aggiungere dinamicamente uno stile ad un controllo tramite la direttiva ngStyle.
Questa direttiva accetta in input un oggetto dove ogni proprietà corrisponde al nome dello stile CSS che vogliamo applicare, e il valore della proprietà corrisponde al valore dello stile. Il codice HTML è banale in quanto dobbiamo mettere in binding la direttiva con una proprietà del component (styles in questo caso).
<div [ngStyle]="styles">Questo div ha stili dinamici da binding</div>
Nel component, dobbiamo valorizzare la proprietà in base alle nostre necessità.
styles: {};
...
setStyles() {
this.styles = {
'background-color': this.soldOut ? 'red' : 'white';
};
}Grazie a questa tecnica possiamo applicare stili CSS dinamicamente, senza dover creare tante piccole classi CSS per ogni possibile combinazione di dati.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS
Utilizzare ExecuteUpdate per aggiornare colonne JSON in Entity Framework
Referenziare un package NuGet in una file based app .NET
Integrare il Docker Model Runner in un workflow di GitHub
Filtrare i dati in ASP.NET Core usando OpenTelemetry su Azure Monitor
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Validazione personalizzata nelle Minimal API di ASP.NET Core
Monitorare le tabelle di Azure SQL Database con Change Event Streaming
Interazione con ReconnectModal in Blazor
Modificare lo stile in una QuickGrid Blazor
Esporre tool MCP da API REST con Azure App Service
Integrare OpenTelemetry direttamente in Azure Monitor


