En este ejemplo usaremos un único input para agregar y editar elementos de la lista; los botones cambian según el modo (agregar o edición).
1. Estructura básica de HTML
Definimos el esquema inicial del documento.
2. Agregar AngularJS
Incluimos la librería AngularJS desde un CDN.
3. Definir la aplicación y el controlador
Inicializamos la aplicación Angular con ng-app="myApp" y vinculamos el controlador principal con ng-controller="myController".
4. Input y botones dinámicos (Agregar / Actualizar / Cancelar)
Colocamos un input enlazado con ng-model="nuevaFruta" para capturar el texto. Los botones cambian según modoEdicion:
-
Si no estamos en edición (
modoEdicion === false) mostramos Agregar. -
Si estamos editando (
modoEdicion === true) mostramos Actualizar y Cancelar.
Esto permite reutilizar el mismo input para añadir y para editar.
5. Lista con opciones de editar y eliminar
Mostramos la lista con ng-repeat. Cada elemento tiene:
-
El texto de la fruta.
-
Un botón Editar que carga el valor al input principal y pone la app en modo edición.
-
Un botón Eliminar que remueve el elemento del array.
Se usatrack by $indexpara evitar problemas cuando hay elementos con el mismo valor.
6. Código AngularJS
Definimos el módulo y el controlador. Se inicializan las variables de estado (frutas, nuevaFruta, modoEdicion, indiceEdicion) y las funciones:
-
agregarFruta()→ valida y agrega al array, limpia el input. -
eliminarFruta(index)→ remueve el elemento; si se estaba editando ese mismo elemento cancela la edición. -
editarFruta(index)→ carga el elemento en el input y activa el modo edición guardando el índice. -
actualizarFruta()→ valida y reemplaza el elemento en su índice, luego cancela la edición. -
cancelarEdicion()→ restaura el estado a modo agregar.
7. Código completo
Integración de todo en una sola página:
No hay comentarios:
Publicar un comentario