Tra le varie opzioni di una direttiva custom in AngularJS, c'è anche quella che ci permette di specificare lo scope. Se non specifichiamo questa opzione, la direttiva prende in input lo scope del suo contenitore. Questo significa che se abbiamo una view che ha uno scope con le proprietà Nome e Cognome, queste proprietà saranno disponibili per default anche nella direttiva.
Sebbene questa funzionalità sia comoda, far utilizzare a una direttiva lo scope del contenitore implica che la direttiva abbia conoscenza del proprio contenitore e per l'incapsulamento questa non è una cosa positiva. La cosa migliore è che la direttiva abbia un proprio scope e che il padre lo valorizzi.
Per fare questo dobbiamo dichiarare le proprietà nello scope come nell'esempio.
.directive('myDir', function () { return { scope:{ Nome: '@Nome', Cognome: '@Cognome' } }; });
A questo punto, Nome e Cognome possono essere impostate tramite attributo nella dichiarazione della direttiva come nel prossimo esempio.
<my-dir nome="{{parentScopeNome}} cognome="{{parentScopeCognome}}"></my-dir>
In questo caso, stiamo impostando le proprieta Nome e Cognome rispettivamente con i valori della proprietà parentScopeNome e parentScopeCognome dello scope contenitore.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Migrare una service connection a workload identity federation in Azure DevOps
Filtering sulle colonne in una QuickGrid di Blazor
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Utilizzare Azure AI Studio per testare i modelli AI
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Migliorare la sicurezza dei prompt con Azure AI Studio
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Modificare i metadati nell'head dell'HTML di una Blazor Web App