Quado creiamo un servizio e vogliamo che sia iniettato dal motore di dependency injection di Angular, dobbiamo aggiungere il servizio al sistema di dependency injection. Fino alla versione 5, l'aggiunta veniva fatta nel modulo in cui il servizio era dichiarato attraverso la sezione providers del decorator NgModule. Questa tecnica, ancora perfettamente valida, ha il problema di non permettere il tree-shaking e quindi non permette di eliminare codice inutile dal pacchetto di output della build.
A partire da Angular 6, l'aggiunta del servizio al motore di dependency injection viene fatta direttamente dal servizio tramite il decorator Injectable importando la proprietà providedIn al valore 'root' come mostrato nell'esempio.
@Injectable({ providedIn: 'root' }) export class MyService { }
In questo modo il servizio viene aggiunto all'injector principale di Angular ed è anche sottoposto a tree-shaking con conseguente ottimizzazione del codice.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il trigger SQL con le Azure Function
Utilizzare politiche di resiliency con Azure Container App
Cancellare una run di un workflow di GitHub
Estrarre dati randomici da una lista di oggetti in C#
Change tracking e composition in Entity Framework
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Gestire domini wildcard in Azure Container Apps
Gestire la cancellazione di una richiesta in streaming da Blazor
Gestione degli stili CSS con le regole @layer
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
C# 12: Cosa c'è di nuovo e interessante
I più letti di oggi
- Visualizzare contenuti Fullscreen con HTML5
- Leggere e scrivere su cookie tramite Blazor
- Richiamare programmaticamente le operazioni di aggiornamento, eliminazione e inserimento di FormView, DetailsView e GridView
- Realizzare siti sicuri con ASP.NET Web Pages
- Il web control DropDownList di ASP.NET
- Un helper method per replicare un template per ogni proprietà con ASP.NET MVC
- Operazioni di selezione su una DataTable
- Dependency injection in ASP.NET MVC 5 con Ninject
- Aumentare la scalabilità di ASP.NET Core Web API con caching client side
- Accedere con ASP.NET ad un documento XML creato dall'oggetto recordset di ADO e ASP