Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

318
Visualizações
Angular 4: actualice la ruta sin agregar la ruta de otro punto de venta a la URL

Tengo una situación en Angular 4.0.3 donde tengo dos <router-outlet> en una página.

 <router-outlet></router-outlet> <router-outlet name="nav"></router-outlet>

El primer punto de venta aceptará rutas para el contenido y el segundo aceptará rutas para la navegación. Logro la navegación usando esto;

 router.navigate(['', {outlets: { nav: [route] } }],{skipLocationChange: true });

Esto cambia el contenido del punto de venta sin actualizar la URL, ya que no quiero ninguna url que se parezca a .. (nav:user) .

El problema es la salida restante. Quiero que la URL se actualice cuando se haga clic en ellos, por ejemplo...

 .../user/profile

Funcionalmente, puedo hacer que ambos puntos de venta tengan el contenido adecuado, pero sigue agregando la ruta de la salida de nav a la URL, así...

 .../user/profile(nav:user)

¿Hay alguna forma de evitar que agregue la parte (nav:user) ?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

A menos que haya algún truco que desconozco... No creo que puedas. La barra de direcciones es lo que mantiene el estado de la ruta. Entonces, sin la información de salida secundaria en la barra de direcciones, el enrutador no sabrá cómo mantener el componente enrutado correcto en la salida secundaria.

Puede intentar anular el método de navigateByUrl como se muestra aquí: http://plnkr.co/edit/78Hp5OcEzN1jj2N20XHT?p=preview

 export class AppModule { constructor(router: Router) { const navigateByUrl = router.navigateByUrl; router.navigateByUrl = function(url: string|UrlTree, extras: NavigationExtras = {skipLocationChange: false}): Promise<boolean> { return navigateByUrl.call(router, url, { ...extras, skipLocationChange: true }); } } }

Potencialmente, podría agregar lógica aquí para verificar en qué rutas necesita hacer esto.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda