No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Validar Usuario

5/20
Recursos

Aportes 4

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para enviar una data de un formulario que se introdujo en un componente hacia el formulario que está en otro componente, por ejemplo de register a login, para pre-rellenar algún campo como email; vamos a utilizar los queryParams. Al momento de navegar vamos a decirle que quiero enviarle un parámetro de tipo query, así:

// En el componente register

this.router.navigate(['/login'], {
  queryParams: { email }
});

En el formulario de Login, vamos a importar ActivatedRoute, el cual lee los parametros que vienen en la url, lo inyectamos en el constructor y luego obtenemos el email que lo guardamos en una constante y hacemos el setValue para rellenar el campo en el respectivo input.

import { Router, ActivatedRoute } from '@angular/router';

@Component({
  selector: 'app-login-form',
  templateUrl: './login-form.component.html'
})
export class LoginFormComponent {

constructor(
    private formBuilder: FormBuilder,
    private router: Router,
    private authService: AuthService,
    private route: ActivatedRoute
  ) {
    this.route.queryParamMap.subscribe(params => {
      const email = params.get('email');
      if (email) {
        this.form.controls.email.setValue(email);
      }
    })
  }

}

Es como raro validar por el valor de lo que responde el servicio,pero la api no cambia el status, no entendi porque tambien puso el renderizado condicional en el bloque del email si siempre lo quiere mostrar, no bastaria solo con el ngIf del bloque de registro, dice que tipar en los arguemtnos es mala practica pero para mi queda mucho mas claro y ahorra muchas lineas

Interesante el uso del queryParam…

En esta clase de Nico pueden saber más acerca de los Query Params: Parametros URL