Nello script precedente abbiamo visto come utilizzare il decorator HostListener, per creare un comportamento riutilizzabile da abbinare alla gestione degli eventi di un tag HTML con Angular.
Il decorator HostBinding consente di specificare una proprietà dell'elemento host dall'interno della classe. Questo ci consente, quindi, di riflettere il cambio di una proprietà, come ad esempio lo stile, manipolando direttamente una proprietà della classe, e senza dover modificare direttamente il DOM.
import { HostBinding } from '@angular/core' @Directive({ selector: "[myDirective]" }) class MyDirective { @HostBinding('style.background') background: string; @HostListener('mouseover') onMouseOver() { this.background = 'red'; } }
Grazie a questo codice, ogni volta che ci sarà l'evento di mouseover, la proprietà background della classe riceverà un nuovo colore e, grazie all'uso della direttiva HostBinding, la stessa verrà applicato allo stile, cambiando il background dell'emento a cui è associata.
E per utilizzarlo, come al solito, dovremo utilizzare questa forma (dove il nome dell'attributo è quello specificato nella proprietà selector del decorator Directive):
<div myDirective>...</div>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare gruppi di client per Event Grid MQTT
Usare le collection expression per inizializzare una lista di oggetti in C#
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Creare una libreria CSS universale: i bottoni
Generare un hash con SHA-3 in .NET
C# 12: Cosa c'è di nuovo e interessante
Utilizzare Copilot con Azure Cosmos DB
Ordine e importanza per @layer in CSS
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Code scanning e advanced security con Azure DevOps