Маршрутизатор, вызывающий петлю охранника маршрута
Я пытаюсь использовать защиту маршрута и распознаватель маршрута, которые используют вызов API, на который я подписываюсь по разным причинам. По сути, мой охранник маршрута проверяет, есть ли данные для страницы, на которую я пытаюсь перейти, и мой распознаватель затем получает указанные данные.
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
let url = state.url; // where i'm trying to go
let id = route.params['id'];
this.dsProject.getChildProjectsByParentProject(id).subscribe(
data => {
if (data.length < 1) {
this.router.navigate(['/SoftwareHome']); // back to original page
} else {
this.router.navigate([url]);
}
},
err => {
},
() => {
}
)
return true;
}
перерыв
resolve(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot
// get the current route and route state as parameters which are passed automatically
) {
const id = route.params['id'];
return this.dsProject.getChildProjectsByParentProject(id);
// pass the API down to the component to be grabbed via snapshot
}