Índice

Controlador y modelo

El rol de un controlador es proveer los datos y las acciones con las que interactúa el usuario en las vistas.

En AngularJS, un controlador debe inicializar el estado del modelo, exponer el modelo y las funciones a la vista mediante el objeto $scope y reaccionar a los cambios del modelo.

He aquí un ejemplo de controlador:

function TodoController($scope) {  
    $scope.todos = localStorage.getItem("todos") || [];  
       
    $scope.addTodo = function(todo) { ... }  
    $scope.removeTodo = function(todo) { ... }  
    $scope.doneTodo = function(todo) { ... }  
}  
  
angular.module("MiAplicacion", [])  
   .controller("TodoController", TodoController);

El controlador anterior recupera una lista de tareas del local storage HTML 5. A continuación, expone las tareas mediante la propiedad todos de $scope, además de tres funciones.

Con el objetivo de conservar controladores simples y sencillos de mantener, se recomienda crear un controlador por vista o por funcionalidad de la vista. Por ejemplo, si la aplicación está compuesta de una zona de encabezado, de una página con un listado y una página de detalles, se recomienda organizar la aplicación a partir de tres controladores: uno que gestione la zona de encabezado, otro para la lista y un último para el detalle.

Scopes

El objeto $scope es el mecanismo que permite exponer ...