V mojom Angular5 aplikácie mám router-zásuvky s názvom"admin" (/ admin), ktorý má dieťa router "news" / admin / (admin: novinky), a chcem vytvoriť odkaz na komponent CreatePostComponent / admin / (admin: news / new-post).
Tu je môj smerovač:
{
path: "admin",
component: AdminComponent,
children: [
{
path: "",
redirectTo: "/admin/(admin:news)",
pathMatch: "full"
},
{
path: "news",
component: NewsComponent,
outlet: "admin",
children: [
{
path: "new-post",
component: CreatePostComponent
}
]
}
]
}
A odkaz v šablóne: <a [routerLink]="["new-post"]">New post</a>
Toto je práca, moja zmena adresy URL na / admin / (admin: news / new-post), ale stále vidím NewsComponent namiesto CreatePostComponent. Ako to mám urobiť správne?
Tiež môžem mať normálny druh url v pomenovanom router-outlet (/ admin / news, not / admin / (admin: news));
odpovede:
1 pre odpoveď č. 1ak váš komponent NewsComponent nemá smerovaciu zásuvku, smerovač by mal vyzerať takto:
{
path: "admin",
component: AdminComponent,
children: [
{
path: "",
redirectTo: "/admin/(admin:news)",
pathMatch: "full"
},
{
path: "news",
component: NewsComponent,
outlet: "admin",
},
{
path: "news/new-post",
component: CreatePostComponent,
outlet: "admin",
}
]
}
toto je spôsob, akým opätovne používate zásuvku a máte falošnú detskú trasu
zobrazí sa iba súčasť, ak máte smerovač
trasa na volanie odkazu by mala vyzerať
[routerLink]="[{outlets:{admin:["news","new-post"]}}]"
alebo
[routerLink]="[{outlets:{admin:["news/new-post"]}}]"