/ / Spojenie s iným komponentom bez vývodu - uhlové, uhlové smerovanie, smerovač

Spojenie s iným komponentom bez vývodu - uhlová, uhlovo-smerovacia, routerová zásuvka

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ď č. 1

ak 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"]}}]"