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

185
Visualizações
¿Cómo se pueden pasar diferentes parámetros usando [routerLink] o router.navigate a un componente?

Configuré app-routing.module.ts de la siguiente manera:

 const routes: Routes = [ { path: "branches/:branch", component: BranchesComponent }, // ... ];

y también en app.component.html tienen:

 <li> <a [routerLink]="['/branches', 'engineering']"> engineering </a> </li> <li> <a [routerLink]="['/branches', 'baseSciense']"> baseSciense</a> </li> <li> <a [routerLink]="['/branches', 'humanities']"> humanities</a> </li> </ul> <router-outlet></router-outlet>

y en barnches.component.ts codifiqué de la siguiente manera:

 branch: string =''; constructor(private route: ActivatedRoute) { } ngOnInit(): void { this.route.params.subscribe(({branch: branch1}) => this.branch = branch1); // I also tried this code: // this.route.params.subscribe(branch => this.branch = branch['branch']); // unfortunately, bellow codes have error on p.branch and params.branch! why? // this.route.params.subscribe(p => this.branch = p.branch) // this.branch = this.route.snapshot.params.branch; console.log(`branch is : ${this.branch}`); }

hasta aquí todo es correcto, y la URL se cambia una vez que se hace clic en el enlace respectivo, como:

 http://localhost:4200/branches/engineering http://localhost:4200/branches/baseSciense http://localhost:4200/branches/humanities

pero la rama de propiedad en el componente Ramas no cambia y tiene el mismo valor (ingeniería) para diferentes parámetros en el registro de la consola. es ilogico para mi!

¿Cómo puede resolver este problema pasar diferentes parámetros y capturarlos en el componente de sucursales? Saludos

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Debe mover su console.log dentro de la suscripción. La mayor parte del código relacionado con esta función deberá tener lugar dentro de la suscripción. El componente no se vuelve a representar en el cambio de URL porque está cargando el mismo componente y angular no vuelve a representar los componentes si es el mismo componente.

 import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; @Component({ template: 'Branch: {{branch}}', }) export class BranchesComponent implements OnInit { branch = ''; constructor(private route: ActivatedRoute) {} ngOnInit() { // Set the value every time the URL param changes. this.route.params.subscribe(({ branch }) => { this.branch = branch; console.log('branch:', this.branch); }); } }
about 4 years ago · Juan Pablo Isaza Relatório

0

En su componente, puede suscribirse a los eventos del enrutador y escucharlos de esta manera.

 this.router.events.pipe(filter(r => r instanceof NavigationEnd)).subscribe(r => { console.log((r as NavigationEnd).url); });
about 4 years ago · Juan Pablo Isaza 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