Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

264
Vistas
Actualizar componente después de hacer un router.navigate

Estoy tratando de navegar de un componente a otro usando:

 this.router.navigate(['/path/'], '_blank');

El problema es que el componente al que estoy navegando ya está creado y su método ngOnInit no se ejecuta cuando vuelvo a navegar a la página. Estoy tratando de actualizar los datos que se muestran en la página. Esto está en la función ngOnInit del componente de destino:

 this.sub = this._DataService.getData().subscribe(data=> { this.data= data; });

¿Cómo puedo decirle al componente de destino que los datos en la página siempre se actualizan al realizar una navegación?

Estoy usando Ag-Grid para mostrar los datos en una tabla. En la función NgOnInit:

 this.gridOptions.rowData = this.data;

El componente del que vengo originalmente es un formulario para agregar un nuevo objeto. Después de enviar ese objeto, debería redirigir a la cuadrícula y mostrar el nuevo objeto. Es por eso que Grid debería estar actualizando sus datos, pero por alguna razón, solo lo hace cuando lo actualizo manualmente a través de una acción del menú contextual en la cuadrícula, no en la navegación.

La función de envío en el formulario tiene el siguiente aspecto:

 onSubmit(data) { this._DataService.addData(data.value).subscribe(); this.router.navigate(['/data/']); }
about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Si navega a la misma ruta y solo cambian los valores de los parámetros, mueva el código de inicialización fuera del constructor y llámelo desde el constructor y cuando cambien los parámetros de la ruta:

 constructor(private route:ActivatedRoute) { route.params.subscribe(val => this.initialize()) }
about 4 years ago · Santiago Trujillo Denunciar

0

Lo arreglé cambiando mi función onSubmit a:

 onSubmit(data) { this._DataService.addData(data.value).subscribe(data => { this.router.navigate(['/path]); }); }

Gracias a esta pregunta: Angular2: la redirección después del envío no muestra datos actualizados

about 4 years ago · Santiago Trujillo Denunciar

0

implementé un componente de redirección

this.router.navigate(['/redirect/', window.location.pathname]);

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda