Я пытаюсь реализовать canDeactivate
охрану.Для этого мне нужно проверить свойства экземпляра службы на компоненте.Однако, поскольку эта служба может быть введена с использованием разных псевдонимов, я пытаюсь проверить все свойства, чтобы быть экземпляром службы.
canDeactivate(
component: Component,
currentRoute: ActivatedRouteSnapshot,
currentState: RouterStateSnapshot,
nextState ? : RouterStateSnapshot
): Observable<boolean> | Promise<boolean> | boolean {
let tabsService;
const componentProps = Object.entries(component);
console.log(componentProps);
for (let i = 0; i < componentProps.length; i++) {
if (componentProps[1] instanceof TabsService) {
console.log(true);
tabsService = componentProps[1];
break;
}
console.log(componentProps[1] instanceof TabsService);
}
...
}
Однако это приводит ко всем false
s.
Как мне это сделать?Или я должен получить экземпляр по-другому?Я знаю, что плохо называть одну вещь в разных псевдонимах, но это неизбежно с тоннами DI и командной разработкой (IMHO).