Índice

Servicios

Una aplicación AngularJS se organiza a partir de los patrones de diseño MVC/MVVM. El controlador juega un rol importante, puesto que es el responsable de cargar el modelo y responder a las acciones de los usuarios.

Con el objetivo de factorizar el código agrupándolo en funcionalidades de negocio o según cuestiones técnicas, AngularJS introduce la noción de servicios. Un servicio es un objeto JavaScript que expone métodos y propiedades, y que puede inyectarse en un controlador, en un filtro, en una directiva o bien en otro servicio.

1. Uso de servicios

AngularJS integra numerosos servicios, en particular $http, que se encarga de realizar peticiones HTTP, o $location, responsable de gestionar la navegación.

Todos los nombres de los servicios que proporciona AngularJS están prefijados por el carácter $. Esta convención permite diferenciar los servicios de AngularJS de los demás servicios.

Para utilizar un servicio, se utiliza la funcionalidad de inyección de dependencias.

module.controller("inicioController", function($scope, $http) {  
    ...  
});

El ejemplo anterior declara un controlador que depende del servicio $http.

Una vez inyectado el servicio, es posible utilizar los distintos métodos y propiedades de este.

module.controller("inicioController", function($scope, $http) { 
    $scope.items = null;  
  
    $http.get("http://localhost/api/items", function(data) ...