Servizi AngularJS
- Pagina precedente Filtraggio AngularJS
- Pagina successiva Http AngularJS
In AngularJS, puoi creare i tuoi servizi o utilizzare uno dei tanti servizi integrati.
Cos'è un servizio?
In AngularJS, i servizi sono funzioni o oggetti che possono essere utilizzati e sono limitati solo alla tua applicazione AngularJS.
AngularJS ha circa 30 servizi integrati. Uno di questi è $location
servizio.
$location
Il servizio ha metodi che possono restituire informazioni sulla posizione attuale della pagina web:
Esempio
Uso del servizio $location nel controller:
var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $location) { $scope.myUrl = $location.absUrl(); });
Nota che$location
I servizi vengono passati come parametri ai controller. Per utilizzare il servizio nel controller, deve essere definito come dipendenza.
Perché utilizzare servizi?
Per molti servizi, come $location
servizio, sembra che tu possa utilizzare gli oggetti già presenti nel DOM (ad esempio oggetto window.location),ma ci saranno alcune limitazioni, almeno per la tua applicazione AngularJS.
AngularJS监督 costantemente la tua applicazione, preferendo che tu utilizzi $location
servizio rispetto all'oggetto window.location.
Servizio $http
Questo esempio dimostra
Il servizio è uno dei servizi più utilizzati nell'applicazione AngularJS. Il servizio invia richieste al server e lascia che la tua applicazione elabori le risposte.
Esempio
Richiesta dati dal server utilizzando il servizio $http:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $http) { app.controller('myCtrl', function($scope, $http) { $http.get("welcome.htm").then(function (response) { }); });
$scope.myWelcome = response.data; Questo esempio dimostra
$http
Uso molto semplice del servizio $timeout. Per ulteriori informazioni sul servizio $http, consulta la guida AngularJS Http.
$timeout
Il servizio è la versione AngularJS di window.setTimeout
funzione.
Esempio
Mostra un nuovo messaggio dopo due secondi:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $timeout) { $scope.myHeader = "Ciao Mondo!"; $timeout(function () { $scope.myHeader = "Come stai oggi?"; }, 2000); });
Servizio $interval
$interval
Il servizio è la versione AngularJS di window.setInterval
funzione.
Esempio
Mostra l'ora ogni secondo:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $interval) { $scope.theTime = new Date().toLocaleTimeString(); $interval(function () { $scope.theTime = new Date().toLocaleTimeString(); }, 1000); });
Creare il tuo servizio personalizzato
Per creare il tuo servizio, connettilo al modulo:
Creare un nome hexafy
Servizio:
app.service('hexafy', function() { this.myFunc = function (x) { return x.toString(16); } });
Per utilizzare il tuo servizio personalizzato, aggiungilo come dipendenza durante la definizione del controller:
Esempio
Utilizzando il servizio personalizzato chiamato hexafy per convertire i numeri in numeri esadecimali:
app.controller('myCtrl', function($scope, hexafy) { $scope.hex = hexafy.myFunc(255); });
Utilizzo di servizi personalizzati nei filtri
Dopo aver creato il servizio e collegato l'applicazione, puoi utilizzare questo servizio in qualsiasi controller, istruzione, filtro o persino altri servizi.
Per utilizzare il servizio nel filtro, aggiungilo come dipendenza durante la definizione del filtro:
Il servizio hexafy utilizzato nel filtro myFormat:
app.filter('myFormat',['hexafy', function(hexafy) { return function(x) { return hexafy.myFunc(x); }; });
Puoi utilizzare questo filtro per visualizzare i valori degli oggetti o degli array:
<ul> <li ng-repeat="x in counts">{{x | myFormat}}</li> </ul>
- Pagina precedente Filtraggio AngularJS
- Pagina successiva Http AngularJS