Ejercicio de programación con Angular: Formularios reactivos en Angular
Código
0h 25m
Ejercicios Angular Formularios Reactivos. Domina el uso de formularios reactivos en Angular mediante ejercicios prácticos y ejemplos claros.
Dada la siguiente interfaz Author
en Angular:
export interface Author {
id: number;
firstName: string;
lastName: string;
birthDate: Date;
salary: number;
country: string;
bio: string;
wikipediaUrl: string;
}
Y dado el siguiente componente en Angular:
import { HttpClient } from '@angular/common/http';
import { Component, OnInit } from '@angular/core';
import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
import { ActivatedRoute, RouterLink } from '@angular/router';
import { Author } from '../../../interfaces/author.model';
@Component({
selector: 'app-author-form',
standalone: true,
imports: [ReactiveFormsModule, RouterLink],
templateUrl: './author-form.component.html',
styleUrl: './author-form.component.css'
})
export class AuthorFormComponent implements OnInit{
authorForm = ????
isUpdate: boolean = false;
author: Author | undefined;
constructor(
private httpClient: HttpClient,
private activatedRoute: ActivatedRoute
) {}
ngOnInit(): void {
this.activatedRoute.params.subscribe(params => {
const id = params['id'];
if(!id) {
return; // si no hay categoría se termina el método
}
this.httpClient.get<Author>(`http://localhost:3000/author/${id}`).subscribe(author => {
this.isUpdate = true;
this.author = author;
// Aquí debes cargar el author en el formulario
????
});
});
}
save() {
}
}
Copia y pega el código y completa el anterior código de TypeScript añadiendo:
authorForm
debe ser un FormGroup con campos FormControl para cada atributo de la interfaz Author.ngOnInit
aquí debes cargar el objetoAuthor
que llega del backend en el formulario, esto permitiría que el formulario aparezca con los datos del autor precargados.save()
El método save se invocaría cuando el usuario hace clic en el botón enviar del formulario. Aquí debes extraer los campos del formulario y crear un objeto Author a partir de ellos para enviarlo a backend.- Si la variable
isUpdate
es true lo enviarás por PUT ahttp://localhost:3000/author/${id}
. - Si la variable
isUpdate
es false lo enviarás por POST ahttp://localhost:3000/author
.
- Si la variable
Todos los ejercicios de programación de Angular
Evalúa tus conocimientos con ejercicios de programación en Angular de tipo Test, Puzzle, Código y Proyecto con VSCode.
Signals en Angular
Puzzle
Guards funcionales
Test
Decodificar JWT en Angular
Test
Servicio con HttpClient
Código
Ciclo de vida de componentes en Angular
Test
Gestión de productos de Fake Store API
Proyecto
Data binding en Angular
Test
Routes sin módulos en Angular
Código
Router en Angular
Test
Instalación de Angular
Puzzle
Route Guards basados en interfaces
Código
La directiva @if en Angular
Puzzle
Servicios en Angular
Puzzle
Interceptor funcional
Test
Servicio con Array
Código
La directiva @for en Angular
Puzzle
Interceptores HTTP
Código
Componentes standalone true
Puzzle
Formularios con ngModel en Angular
Puzzle
Certificados de superación de Angular
Supera todos los retos de Angular y obtén estos certificados de superación para mejorar tu currículum y tu empleabilidad.
Tutorial para resolver este ejercicio de programación
Angular
Formularios reactivos en Angular
Formularios