[英]How to access parent component properties from a child route component in Angular?
[英]Angular 2 - Child route have a different parent component to parent component
嗨,我已經設置了我的路線文件
const routes: Routes = [ { path: '', component: parentComponent, canActivate: [ LoggedInGuard ], children: [ { path: 'profile', component: ProfileComponent }, { path: 'sign-out', component: SignOutComponent }, { path: 'set-password', component: SetPasswordComponent }, { path: '', canActivate: [ LastLoginDateGuard ], children: [ { path: 'admin', canActivate: [ adminGuard ], children: [ { path: 'event/:event_id', component: appComponent, children: [ { path: '', component: EventComponent } ]}, ]}, ]}, { path: '', redirectTo: '/sign-in', pathMatch: 'full' }, ]}, { path: '', component: AppComponent }, { path: 'home', component: HomeComponent }, { path: 'sign-in', component: SignInComponent }, { path: 'sign-up', component: SignUpComponent }, { path: '**', component: PageNotFoundComponent } ];
我需要的是event/:event_id
路由具有與正常parentComponent
不同的父組件
{ path: 'admin', canActivate: [ adminGuard ], children: [ { path: 'event/:event_id', component: appComponent, children: [ { path: '', component: EventComponent } ]}, ]},
我基本上只是希望event/:event_id
的父組件是appComponent
而不是parentCompnent
為此,您需要從ParentComponent
子級中刪除整個路由部分,並使用AppComponent
父級來制作另一個,
請嘗試以下路線設置:
const routes: Routes = [
{ path: '', component: parentComponent, canActivate: [ LoggedInGuard ], children: [
{ path: 'profile', component: ProfileComponent },
{ path: 'sign-out', component: SignOutComponent },
{ path: 'set-password', component: SetPasswordComponent },
{ path: '', redirectTo: '/sign-in', pathMatch: 'full' }
]},
{ path: '', canActivate: [ LoggedInGuard ], children: [
{ path: '', canActivate: [ LastLoginDateGuard ], children: [
{ path: 'admin', component: appComponent, canActivate: [ adminGuard ], children: [
{ path: 'event/:event_id' , children: [
{ path: '', component: EventComponent }
]},
]},
]}
]},
{ path: '', component: AppComponent },
{ path: 'home', component: HomeComponent },
{ path: 'sign-in', component: SignInComponent },
{ path: 'sign-up', component: SignUpComponent },
{ path: '**', component: PageNotFoundComponent }
];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.