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.