2012-07-06 18 views
11

¿cómo puedo crear una clase de ayuda/utilidad a la que se pueda acceder desde los múltiples controladores?Cómo crear una clase auxiliar a la que se pueda acceder con el controlador en AngularJS

Por ejemplo, tengo dos controladores: UpdateItemCtrl y CreateItemCtrl. Estos tienen funciones comunes dentro de las cuales aumenta la redundancia y reduce la manejabilidad.

Me gustaría crear una clase ItemSaveHelper en la que inserte los métodos comunes y los llame desde el controlador activo.

Respuesta

19

Quiere crear un service.

Un servicio es un producto único que se puede inyectar en diferentes cosas para proporcionar una funcionalidad modular/compartido. Aquí hay un ejemplo simple: http://jsfiddle.net/andytjoslin/pHV4k/

function Ctrl1($scope, itemManager) { 
    $scope.addItem = function(text) { 
     itemManager.items.push(text); 
    }; 
} 

function Ctrl2($scope, itemManager) { 
    $scope.items = itemManager.items; 
} 

app.factory('itemManager', function() { 
    return { 
     items: [] 
    }; 
}); 
+0

yup que debería hacerlo. ¡Gracias! –

+0

acaba de actualizar un enlace https://docs.angularjs.org/guide/services –

Cuestiones relacionadas