Angular 22
Ejercicios de Angular para practicar cada día
Angular moderno gira alrededor de los signals y de las plantillas con control de flujo integrado. Los ejercicios son fragmentos cortos de componente y plantilla para que los leas, completes o arregles.
Así son los ejercicios de Angular
Estos son 5 del nivel 1. Piensa la respuesta antes de abrirla: la explicación dice por qué las demás opciones fallan.
Ejemplo 1 · Signals
¿Qué imprime este código?
const count = signal(0); count.set(5); console.log(count());- A5
- B0
- CSignal { value: 5 }
- Dundefined
Ver la respuesta
Respuesta: A. Un signal se lee llamándolo como función. set() reemplaza el valor, así que count() devuelve 5.
Ejemplo 2 · Control de flujo
Si items() es un array vacío, ¿qué se muestra?
@for (item of items(); track item.id) { <li>{{ item.name }}</li> } @empty { <li>Sin resultados</li> }- ASin resultados
- BNada
- CUn <li> vacío
- DUn error: @empty solo vale con @if
Ver la respuesta
Respuesta: A. El bloque @empty de un @for se muestra cuando la colección no tiene elementos. Evita añadir un @if aparte solo para ese caso.
Ejemplo 3 · Componentes
¿Cómo escucha el componente padre el evento closed?
@Component({ selector: 'app-dialog', template: `...` }) export class Dialog { closed = output<void>(); close() { this.closed.emit(); } }- A<app-dialog (closed)="onClosed()" />
- B<app-dialog [closed]="onClosed()" />
- C<app-dialog closed="onClosed()" />
- D<app-dialog (closed.emit)="onClosed()" />
Ver la respuesta
Respuesta: A. output() declara un evento del componente. El padre lo escucha con paréntesis, igual que un click. Los corchetes son para las entradas.
Ejemplo 4 · Eventos
¿Cuándo se llama a search()?
<input (keyup.enter)="search()" />- AAl soltar la tecla Enter dentro del input
- BCon cada tecla que se pulsa
- CAl perder el foco
- DNunca: keyup.enter no existe
Ver la respuesta
Respuesta: A. Los paréntesis escuchan un evento. Angular admite filtros de tecla como keyup.enter o keydown.escape, así que no hace falta comprobar event.key a mano.
Ejemplo 5 · Plantillas
Si price() vale 5, ¿qué muestra la plantilla?
<p>Total: {{ price() * 2 }}</p>- ATotal: 10
- BTotal: {{ price() * 2 }}
- CTotal: 5 * 2
- DNada: no se puede operar en la plantilla
Ver la respuesta
Respuesta: A. La interpolación {{ }} evalúa una expresión y muestra su resultado como texto. Admite operaciones sencillas, aunque la lógica compleja conviene sacarla a un computed.
Qué vas a practicar
La ruta de Angular tiene 60 ejercicios repartidos en 16 temas, con cuatro formatos: predecir la salida, completar un hueco, encontrar el fallo y ordenar líneas. Signals, control de flujo, componentes, eventos y router: la parte del framework que más usarás en el día a día.
- Signals
- Control de flujo
- Componentes
- Eventos
- Plantillas
- Router
- Enlaces
- Inyección de dependencias
- Pipes
- RxJS
- Carga diferida
- Configuración
- Consultas
- Detección de cambios
- Enlace bidireccional
- Servicios
Un minuto al día, sin perder la racha
Cada día haces una sesión de cinco ejercicios. Lo que fallas vuelve justo cuando estás a punto de olvidarlo, cada acierto suma XP en la ruta y puedes compararte con tus amigos en las ligas semanales. Funciona en el navegador, también en el móvil, y es gratis.