Я реализую защиту маршрутизатора с помощью метода canDeactivate.Это не работает, если я возвращаю асинхронную Наблюдаемую.
Следующие шаги, которые я сделал.
Созданный сторож
@Injectable()
export class DeactivateGuardService implements CanDeactivate<CanComponentDeactivate> {
canDeactivate(component: CanComponentDeactivate) {
return component.canDeactivate() || window.confirm('Are you sure?');
}
}
export interface CanComponentDeactivate {
canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;
}
реализовал метод в component.ts
canDeactivate(): Observable<boolean> | boolean{
return of(false);
// return false;
}
Работает нормально, если я возвращаю false, но не работаю, если возвращаю (false).
Пожалуйста, предложите.