typescript - Angular: Rutarea către componenta copil cu metoda navigate folosind un traseu relativ nu funcționează
Exemplul folosit este dat în acest stackblitz
Așa este structurat rutarea
RouterModule.forRoot([
{
path: 'login',
component: LoginViewComponent,
children: [
{ path: 'home', component: HomeViewComponent },
{ path: 'catalog/:id', component: CatalogViewComponent }
]
},
{ path: '**', redirectTo: 'login' }
])
],
Când sunt în componenta de autentificare, pot merge la componenta de acasă cu această rută absolută
this.navigate(['login/home']);
Pot folosi, de asemenea, navigateByUrl() astfel
this.navigateByUrl(['login/home']);
Dar nu înțeleg cum să fac rutare relativă cu navigate()
this.navigate(['home'], { relativeTo: this.route });
this.navigate(['/home'], { relativeTo: this.route });
Niciuna dintre aceste metode nu face rutare către homeComponent
Răspuns #1
În loc să creez rute copil, am doar o altă rută cu același nume în cale:
app-routing.module.ts
{ path: "activity", component: ActivityComponent },
{ path: "activity/orders", component: OrdersComponent },
Dacă sunt în componenta activity, navighez la comenzi prin:
this.router.navigate(["orders"], { relativeTo: this.route });`
import și constructor în componenta de activitate
import { Router, ActivatedRoute } from "@angular/router";
constructor(
private router: Router,
private route: ActivatedRoute,
) {
