Services AngularJS
- Page précédente Filtres AngularJS
- Page suivante Http AngularJS
Dans AngularJS, vous pouvez créer vos propres services ou utiliser l'un des nombreux services intégrés.
Qu'est-ce qu'un service ?
Dans AngularJS, un service est une fonction ou un objet qui peut être utilisé et est limité à votre application AngularJS.
AngularJS dispose d'environ 30 services intégrés. L'un d'eux est $location
Le service.
$location
Le service dispose de méthodes qui peuvent retourner des informations sur la position actuelle de la page web :
Exemple
Utilisation du service $location dans le contrôleur :
var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $location) { $scope.myUrl = $location.absUrl(); });
Veuillez noter que,$location
Les services sont passés en tant que paramètres aux contrôleurs. Pour utiliser ce service dans le contrôleur, il doit être défini comme dépendance.
Pourquoi utiliser un service ?
Pour de nombreux services, comme $location
service, vous semblez pouvoir utiliser les objets existants dans le DOM (par exemple l'objet window.location),mais il y aura quelques limitations, au moins pour votre application AngularJS.
AngularJS surveille constamment votre application, pour qu'elle puisse gérer correctement les changements et les événements, AngularJS préfère que vous utilisiez $location
service plutôt que l'objet window.location.
$http service
Cet exemple démontre
Le service est l'un des services les plus couramment utilisés dans les applications AngularJS. Ce service envoie des requêtes au serveur et permet à votre application de traiter les réponses.
Exemple
Utilisez le service $http pour demander des données au serveur :
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; Cet exemple démontre
$http
Utilisation très simple du service $timeout. Pour plus d'informations sur le service $http, consultez le tutoriel AngularJS Http.
$timeout
Le service est une version AngularJS de window.setTimeout
Fonction.
Exemple
Afficher un nouveau message après deux secondes :
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $timeout) { $scope.myHeader = "Hello World!"; $timeout(function () { $scope.myHeader = "How are you today?"; }, 2000); });
Service $interval
$interval
Le service est une version AngularJS de window.setInterval
Fonction.
Exemple
Afficher l'heure toutes les secondes :
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $interval) { $scope.theTime = new Date().toLocaleTimeString(); $interval(function () { $scope.theTime = new Date().toLocaleTimeString(); }, 1000); });
Créer votre propre service
Pour créer votre propre service, connectez-le au module :
Créer un nom hexafy
Le service :
app.service('hexafy', function() { this.myFunc = function (x) { return x.toString(16); } });
Pour utiliser votre service personnalisé, ajoutez-le en tant que dépendance lors de la définition du contrôleur :
Exemple
Utilisez un service personnalisé nommé hexafy pour convertir un nombre en nombre hexadécimal :
app.controller('myCtrl', function($scope, hexafy) { $scope.hex = hexafy.myFunc(255); });
Utilisation de services personnalisés dans les filtres
Après avoir créé le service et le connecté à votre application, vous pouvez utiliser ce service dans n'importe quel contrôleur, instruction, filtre ou même autre service.
Pour utiliser un service dans un filtre, ajoutez-le en tant que dépendance lors de la définition du filtre :
Service hexafy utilisé dans le filtre myFormat :
app.filter('myFormat',['hexafy', function(hexafy) { return function(x) { return hexafy.myFunc(x); }; });
Vous pouvez utiliser ce filtre pour afficher les valeurs des objets ou des tableaux affichés :
<ul> <li ng-repeat="x in counts">{{x | myFormat}}</li> </ul>
- Page précédente Filtres AngularJS
- Page suivante Http AngularJS