Можно ли узнать, есть ли у маршрута резольверы или нет с router.events
?Я попытался найти его с помощью:
this.router.events.subscribe(e => {
console.log(e);
})
Но похоже, что в событиях маршрутизатора нет информации о распознавателях.Мне нужно это для индикатора выполнения.Может быть ActivatedRoute
может пригодиться в этом случае?Но где именно я должен смотреть?activateRoute.snapshot.data
всегда пустой объект
Я также пытался:
private isRouteHaveResolvers() {
let firstChild = this.activatedRoute.firstChild;
while (firstChild && firstChild.firstChild) {
firstChild = firstChild.firstChild;
}
return firstChild && firstChild.routeConfig && !!Object.keys(firstChild.routeConfig.resolve).length;
}
Но это не работает должным образом.Например, для этого случая:
{
path: 'edit',
component: EditComponent,
resolve: {
data: resolverData
},
children: [{
path: 'activity/:activityId',
component: ModalComponent,
outlet: 'modal',
}],
}
Для этого маршрута activity/:activityId
возвращается true