Índice

Controladores

Cuando varias directivas necesitan comunicarse entre sí, es necesario asociar la directiva a un controlador. Este controlador tendrá como rol exponer cierto número de propiedades y de métodos que podrán utilizar las demás directivas. El controlador puede verse, de este modo, como la API de una directiva a ojos de las demás directivas.

1. Declarar un controlador

Para declarar un controlador, es preciso inicializar la propiedad controller de la directiva.

module.directive("miDirectiva", function() {  
    return {  
            controller: function() {  
            }  
    };  
});

De la misma manera que con un controlador clásico, la función que declara el controlador de la directiva soporta el patrón Inversion of Control. Es posible, por lo tanto, declarar dependencias, que AngularJS resolverá.

module.directive("miDirectiva", function() {  
    return {  
            controller: function($http, userService) {  
            }  
    };  
});

El controlador de la directiva anterior depende de los servicios $http y userService.

El objetivo de un controlador de directiva no es inicializar el modelo para pasarlo a la vista, sino proporcionar una API a las directivas que quieran comunicarse; las propiedades y los métodos ...