AngularJS ha una struttura modulare che ci permette di creare singoli componenti che messi insieme formano un'applicazione completa e facilmente manutenibile. Uno tipo di modulo che possiamo crare è il servizio. Un servizio è una oggetto che può offrire metodi di helper o di business o memorizzare variabili globali, o altro ancora, che possono essere riusati in diverse parti dell'applicazione. Un tipico caso in cui si crea un servizio è per il colloquio con le API server così da mascherare ai controller la complessità delle chiamate web.
myModule.factory('peopleService', ['$http', function($http){
var factory = {};
factory.getPeople = function() {
//invoca servizio
}
return factory;
}]);La funzione che costruisce il servizio istanzia un oggetto, gli attacca un metodo e poi ritorna direttamente l'oggetto. Poiché la funzione restituisce un oggetto, il servizio è "statico" cioè otteniamo sempre la stessa istanza dell'oggetto factory. questo torna comodo quando vogliamo memorizzare delle variabili che vivano epr tutta l'applicazione.
All'interno del controller possiamo usare il nostro servizio nel seguente modo:
myModule.controller('peopleController', function($scope, peopleService) {
$scope.getPeopleFromAPI = function() {
peopleService.getPeople()
.then(function(res) {
$scope.people = res;
});
}
});Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare il cache poisoning nei workflow di GitHub
Modificare lo stile in una QuickGrid Blazor
Testare le API di Azure Resource Manager con API Playground
Shadow DOM open e closed sulla gestione delle pagine
Usare i generics di C# con la clausola nameof in modo semplificato
Eseguire i pre-commit hook di git con dependabot
Gestione del system path nei workflow di GitHub
Personalizzare i parametri del CSS Scroll Snap
Ottimizzare i costi con Smart tier in Azure Blob Storage
Canary release con .NET Aspire
Blazor e Static Web Assets in .NET 10
Interazione con ReconnectModal in Blazor
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Accedere a risorse e immagini in Windows Store app di Windows 8
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Permettere il Drag-and-drop solo su zone predefinite con Silverlight 2.0
- Consumare dati binari in realtime lato client con ASP.NET Core SignalR
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Personalizare l'icona e le funzionalità di un sito web per iOS e IE
- Caricamenti veloci da CDN e fallback locale con ASP.NET Core
- Utilizzare dati in formato XML in XAML
- Accedere a dati esposti con WebService con Silverlight 1.0


