У меня есть следующая настройка маршрутизации модуля
const personsRoutes: Routes = [
{
path: '',
redirectTo: '/persons',
pathMatch: 'full'
},
{
path: 'persons',
component: PersonsComponent,
children: [
{
path: '',
component: PersonListComponent
},
{
path: ':id',
component: PersonDetailComponent,
children: [
{
path: '',
redirectTo: 'info',
pathMatch: 'full'
},
{
path: 'info',
component: PersonDetailInfoComponent,
},
{
path: 'edit',
component: PersonDetailEditComponent,
},
{
path: 'cashflow',
component: PersonDetailCashflowComponent,
}
]
}
]
}
];
Поэтому, когда я пытаюсь открыть http://localhost:4200/persons/3/edit
, Angular2 сначала загружает PersonsComponent, затем PersonDetailComponent, а затем PersonDetailInfoComponent.
Теперь в PersonDetailComponent у меня есть запрос на получение информации о человеке из серверной части, и я хотел бы также использовать полученную информацию о человеке внутри PersonDetailInfoComponent.
Итак, мой вопрос заключается в том, предоставляет ли Angular2 встроенный способ доступа к переменным из родительских компонентов (например, доступ к PersonDetailComponent.personModel изнутри PersonDetailInfoComponent).
Есть ли «правильный» способ сделать это, одобренный Angular, или это одна из тех вещей, где каждый в конечном итоге реализует свое собственное решение? Кроме того, если это недоступно, есть ли какие-либо планы по предоставлению этой функции в более поздней версии Angular2?
Приветствую и заранее благодарю.
P.S.
Мои зависимости/версии следующие:
"@angular/common": "2.0.0",
"@angular/compiler": "2.0.0",
"@angular/core": "2.0.0",
"@angular/forms": "2.0.0",
"@angular/http": "2.0.0",
"@angular/platform-browser": "2.0.0",
"@angular/platform-browser-dynamic": "2.0.0",
"@angular/router": "3.0.0",
"core-js": "^2.4.1",
"rxjs": "5.0.0-beta.12",
"ts-helpers": "^1.1.1",
"zone.js": "^0.6.23"