我正在使用canDeactivate方法实现路由器防护。如果我返回了一个异步Observable,它将无法正常工作。
我执行的以下步骤。
创建后卫
@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,则工作正常,但如果返回of(false),则工作不正常。
请提出建议。