JavaScript · Sección 14

Angular: componentes, plantillas y signals

Componentes standalone, plantillas, entradas, salidas, servicios, inyección y signals para construir interfaces reactivas comprensibles.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Necesitas JavaScript moderno, TypeScript, módulos y manejo del DOM a nivel conceptual.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Componentes standalone con Plantillas y comunicación y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Utiliza un navegador con herramientas de desarrollo y una versión LTS de Node.js con npm. Angular y MongoDB se preparan cuando llegues a esos bloques.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Componentes standalone y Plantillas y comunicación? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Construirás Angular moderno con componentes enfocados, plantillas declarativas, señales y flujo de datos explícito.

Al terminar podrás
  • Un componente coordina una parte de la interfaz
  • Datos bajan; eventos describen lo que ocurrió
  • signal guarda estado; computed deriva sin duplicarlo
01
Componentes

Un componente coordina una parte de la interfaz

Un componente standalone reúne clase, plantilla, estilos e imports necesarios. La clase mantiene estado de vista y acciones; la plantilla declara cómo representarlos. Dividir por responsabilidades y límites de cambio es más útil que crear un componente por cada etiqueta.

01

Mantén entradas pequeñas y explícitas.

02

No realices trabajo costoso desde expresiones de plantilla.

03

Conserva reglas de negocio fuera de la vista.

Comprueba lo aprendido · 01

¿Qué señal indica que un componente tiene demasiadas responsabilidades?

Mostrar respuesta +

Cuando conoce navegación, red, persistencia y múltiples reglas no relacionadas, o cambia por razones distintas a su interfaz.

02
Plantillas y comunicación

Datos bajan; eventos describen lo que ocurrió

Interpolación y property binding representan valores; event binding conecta acciones. Un input entrega datos al hijo y un output comunica un evento al padre sin modificarlo directamente. @if y @for expresan estructura; track conserva identidad durante actualizaciones.

01

No llames output guardarClick: describe guardarSolicitado.

02

track usa una identidad estable, no el índice si el orden cambia.

03

La plantilla debe mostrar carga, vacío, error y contenido.

Comprueba lo aprendido · 02

¿Por qué el hijo no debería borrar directamente en el servicio si el padre coordina la lista?

Mostrar respuesta +

Porque mezcla representación con flujo de datos y dificulta confirmación, actualización consistente y pruebas del contenedor.

03
Signals

signal guarda estado; computed deriva sin duplicarlo

Una señal writable notifica cuando cambia. computed calcula un valor de solo lectura desde otras señales y memoriza la derivación; no conviene guardar manualmente un dato que puede derivarse. effect conecta con APIs no reactivas, no sustituye el cálculo de estado.

01

Usa set o update para cambiar una señal.

02

computed debe ser puro.

03

Readonly no impide mutación profunda del objeto contenido.

Comprueba lo aprendido · 03

¿Por qué visibles conviene ser computed y no otra señal actualizada a mano?

Mostrar respuesta +

Porque depende completamente de otras señales; derivarla elimina estados desincronizados y una segunda fuente de verdad.

Resumen de la sección

Tu recorrido en tres ideas

  1. Un componente coordina una parte de la interfaz
  2. Datos bajan; eventos describen lo que ocurrió
  3. signal guarda estado; computed deriva sin duplicarlo
CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Guardar manualmente un valor que puede derivarse con computed.

ERROR 02

Hacer que un componente hijo modifique estado del padre o llame servicios ajenos.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Construye una lista filtrable de proyectos con componentes standalone, input/output, @for con track y signals.

Mostrar pauta de corrección +
Una respuesta sólida:
  • Existe una sola fuente de verdad.
  • Los eventos describen intención.
  • La plantilla distingue carga, vacío y contenido.