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
Eseguire i pre-commit hook di git con dependabot
Integrare LLM alle nostre applicazioni in .NET con MCP
Il nuovo persistent state in Blazor
Configuratione e utilizzo .NET Aspire CLI
Usare la parola chiave field per semplificare la scrittura di proprietà in C#
Evidenziare una porzione di testo in un pagina dopo una navigazione
Esporre tool MCP con Azure Functions
Utilizzare i command service nei test con .NET Aspire
Referenziare un package NuGet in una file based app .NET
Ricerca delle GitHub issue tramite operatori logici
How to be a DevOps engineer in the AI era
Avviare rapidamente un container con Azure Container Apps Express


