Мне нужно получить доступ от одного решающего опекуна к другому (от родителя к потомку), где «другой» (потомок) имеет асинхронные данные, так как я могу получить эти асинхронные данные от дочернего маршрута к родительскому маршруту
Вот код
path
const routes: Route[] = [
{ path: '', redirectTo: 'main', pathMatch: 'full' },
{ path: 'main', component: MainComponent },
{ path: 'project',
component: ProjectContainerComponent,
children: [
{
path: ':id',
component: ProjectComponent,
data: {
projectTitle: 'Все задачи',
groupBy: 'Без группировки'
},
resolve: {
projectName: ProjectNameResolverService
},
children: [
{ path: '', redirectTo: 'list', pathMatch: 'full'},
{ path: 'list', component: ProjectIssueListContainerComponent, children: [
{ path: '', component: ProjectIssueListComponent },
{ path: ':issueId', component: ProjectIssueContainerComponent,
resolve: {
task: IssueResolverService
}
}
] },
{ path: 'create', component: CreateIssueComponent },
]
}
]
},
{ path: 'access_denied', component: AccessDeniedComponent }
]
child
export class IssueResolverService implements Resolve < any > {
constructor(
private projectsService: ProjectsService,
private router: Router
) {}
resolve(route: ActivatedRouteSnapshot) {
const id = +route.paramMap.get('issueId');
return this.projectsService.getProjectTask(id)
.pipe(
map((task: any) => {
console.log(task);
return task
})
);
}
}
parent
export class ProjectNameResolverService {
constructor() { }
resolve(route: ActivatedRouteSnapshot) {
console.log(route.firstChild.firstChild.data) // {} - but need to get it
}
}