Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

240
Views
la ruta activa angular 2 está en una sola ruta

digamos que tengo el siguiente html que especifica enlaces para diferentes partes.

 <a [routerLink]="['/']" [queryParams]="{'Analytics':700}" routerLinkActive="active" [routerLinkActiveOptions]="{exact:false}">Home</a> <input type="text" #id (input)="0"/> <a [routerLink]="['user',id.value]" [queryParams]="{'Analytics':500}" routerLinkActive="active" [routerLinkActiveOptions]="{exact:false}">User</a> <button type="button" class="btn btn-default" (click)="onNavigate()">click me</button> <hr>

lo que espero es que para una ruta dada como /usuario/15/editar, mis dos enlaces se pusieron rojos (están afectados por la clase activa), sin embargo, funcionan solo para rutas exactas , es decir, cuando hago clic en el mismo enlace, eso se activaría .

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

la URL anterior es a la que se refiere el enlace del Usuario.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puede usar ngClass en este caso para agregar una clase activa basada en alguna lógica de enrutamiento. Esto es de alguna forma lo que hace routerLinkActive. Así que puedes hacer algo como esto:

 <a [routerLink]="['/']" [queryParams]="{'Analytics':700}" [ngClass]="{ 'active' : isMyRoute }">Home</a>

Y en su componente, use Router y ActivatedRoute para verificar el nombre del componente recorriendo el árbol de ruta que se muestra en la salida del enrutador y alternar una variable basada en eso:

 import {ActivatedRoute, NavigationEnd, Router} from '@angular/router'; ... public isMyRoute: boolean; constructor(private router: Router, private route: ActivatedRoute) {} ngOnInit() { this.router.events.subscribe(res => { if (res instanceof NavigationEnd) { let fn = this.route.children[0].component; let componentName = fn['name']; if (componentName === 'UserEditComponent') { this.isMyRoute = true; } else { this.isMyRoute = false; } } }) }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!