можно отключить с помощью наблюдаемого - PullRequest
0 голосов
/ 21 января 2019

Я реализую защиту маршрутизатора с помощью метода 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).

Пожалуйста, предложите.

...