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 la command injection in un workflow di GitHub
Installare le Web App site extension tramite una pipeline di Azure DevOps
Sfruttare al massimo i topic space di Event Grid MQTT
Effettuare update massivi con Entity Framework Core 7
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Ricevere avvisi su metriche dei server Azure Arc
Cache policy su route groups di Minimal API in ASP.NET Core 7
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Eseguire operazioni con timeout in React
Utilizzare i nuovi piani dedicati di Azure Container Apps