Saltar al contenido

Cambiar parámetros de ruta sin recargar en Angular 2

Encontramos la respuesta a este atascamiento, o por lo menos eso creemos. Si tienes alguna pregunta coméntalo y sin dudar

Solución:

A partir de RC6, puede hacer lo siguiente para cambiar la URL sin cambiar el estado y, por lo tanto, mantener su historial de rutas

    import OnInit from '@angular/core';

    import Location from '@angular/common'; 
    // If you dont import this angular will import the wrong "Location"

    @Component(
        selector: 'example-component',
        templateUrl: 'xxx.html'
    )
    export class ExampleComponent implements OnInit 
        
        constructor( private location: Location )
        

        ngOnInit()     
            this.location.replaceState("/some/newstate/");
        
    

podrías usar location.go(url) que básicamente cambiará su URL, sin cambiar la ruta de la aplicación.

NOTA esto podría causar otro efecto como redirigir a la ruta secundaria desde la ruta actual.

Pregunta relacionada que describe location.go no intimará a Router suceder cambios.

Usando location.go(url) es el camino a seguir, pero en lugar de codificar la url, considere generarla usando router.createUrlTree().

Dado que desea realizar la siguiente llamada de enrutador: this.router.navigate([param: 1], relativeTo: this.activatedRoute) pero sin recargar el componente, se puede reescribir como:

const url = this.router.createUrlTree([], relativeTo: this.activatedRoute, queryParams: param: 1).toString()

 this.location.go(url);

Aquí puedes ver las comentarios y valoraciones de los usuarios

Si tienes algún titubeo y disposición de acrecentar nuestro reseña eres capaz de añadir una glosa y con placer lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *