typescript - Angular: Göreli bir yol ile navigate yöntemi kullanarak alt bileşene yönlendirme çalışmıyor
Kullanılan örnek bu stackblitz'te verilmiştir
Yönlendirme bu şekilde yapılandırılmıştır
RouterModule.forRoot([
{
path: 'login',
component: LoginViewComponent,
children: [
{ path: 'home', component: HomeViewComponent },
{ path: 'catalog/:id', component: CatalogViewComponent }
]
},
{ path: '**', redirectTo: 'login' }
])
],
Giriş bileşenindeyken, bu mutlak rota ile ana bileşene gidebilirim
this.navigate(['login/home']);
Ayrıca navigateByUrl() yöntemini şöyle kullanabilirim
this.navigateByUrl(['login/home']);
Ama navigate() ile göreli olarak nasıl yönlendirme yapacağımı anlamıyorum
this.navigate(['home'], { relativeTo: this.route });
this.navigate(['/home'], { relativeTo: this.route });
Bu yöntemlerin hiçbiri homeComponent'e yönlendirme yapmıyor
Cevap #1
Alt rotalar oluşturmaktansa, aynı ada sahip başka bir yolum var:
app-routing.module.ts
{ path: "activity", component: ActivityComponent },
{ path: "activity/orders", component: OrdersComponent },
Eğer activity bileşenindeysem, siparişlere şu şekilde giderim:
this.router.navigate(["orders"], { relativeTo: this.route });`
aktivite bileşeninde import ve yapıcı
import { Router, ActivatedRoute } from "@angular/router";
constructor(
private router: Router,
private route: ActivatedRoute,
) {
