angular - breadcrumbs hur man får information om en rutt genom att bara ha dess URL
Jag har problem med att implementera brödsmulor
Mina rutter är som:
(Jag kan inte ändra dess design så att detalj är ett barn till lista, kan heller inte göra något åt ':app/:pattern')
admin - path 'admin'
L dashboard -> path '' - component: DashboardComponent
L list -> path ':app/:pattern' - component: ListComponent
L detail -> path ':app/:pattern/detail:id' - component: DetailComponent
Jag förväntas få brödsmuleliknande:
Home > list > detail
(path 'admin') (path 'admin/:app/:pattern') (path 'admin/:app/:pattern/detail:id')
så tillvägagångssättet med 'NavigationEnd'-händelsen och att hämta förälderns aktiverade ruttinformation ger mig inte möjlighet att implementera detta på önskat sätt eftersom endast hem är föräldrarutten, brödsmulan kommer alltid att vara endast ett element Hem
Mina frågor är
Finns det ett sätt att få ruttinformation om man endast känner till URL-sökvägen (exempel i detaljkomponent få information om listan 'admin/:app/:pattern'-sökvägen)
Eller hur man implementerar det på ett annat sätt?
app-routing.module.ts
const routes: Routes = [
{ path: '', redirectTo: '/admin', pathMatch: 'full' },
{ path: 'admin/login', component: LoginComponent, canActivate [LoginGuard], },
{ path: 'admin/404', component: NotFoundComponent, canActivate: [AuthGuard], },
{
path: 'admin',
component: HomeComponent,
canActivate: [AuthGuard],
data: { breadcrumb: 'Home' },
children: [
{ path: '',
component: DashboardComponent,
data: { breadcrumb: 'Dashboard' }
},
{ path: ':app/:pattern',
component: ListComponent,
data: { breadcrumb: 'List' }
},
{ path: ':app/:pattern/detail/:id',
component: DetailComponent,
data: { breadcrumb: 'Detail' }
},
{ path: ':app/:pattern/action/:id',
component: ActionComponent,
data: { breadcrumb: 'Action' }
},
{ path: '**', redirectTo: '/admin/404', },
]
},
];