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 $index
para 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