我需要制作一个简单的确认窗口,并且我看到了很多关于如何通过额外操作来做到这一点的示例(比如等到文件上传表单不是字段)。但是我只需要创建一个带有默认文本的默认确认窗口(如下图所示),以便在用户想要从当前页面离开时显示它。而且我无法完全理解我应该在处理before unload
事件中证明什么逻辑。
如果这是一个问题,我最近很抱歉,但是,我没有找到任何解决方案。所以我有:
例子.guard.ts
export interface CanComponentDeactivate {
canDeactivate: () => Observable<boolean> | boolean;
}
@Injectable()
export class ExampleGuard implements CanDeactivate<CanComponentDeactivate> {
constructor() { }
canDeactivate(component: CanComponentDeactivate): boolean | Observable<boolean> {
return component.canDeactivate() ?
true :
confirm('message'); // <<< does confirm window should appear from here?
}
}
例子.component.ts
export class ExampleComponent implements CanComponentDeactivate {
counstructor() { }
@HostListener('window:beforeunload', ['$event'])
canDeactivate($event: any): Observable<boolean> | boolean {
if (!this.canDeactivate($event)) {
// what should I do here?
}
}
}
如果您提供代码示例,那就太好了,但我很感激任何帮助。