events - 如何在 Angular 2+ 中使用 HostListener 防止窗口关闭事件
问题描述
我正在使用 HostListener 来获取窗口关闭事件并尝试阻止该事件。
我首先导入了 HostListener 并使用了这段代码。但是,我无法阻止窗口关闭事件。
import { HostListener } from '@angular/core';
@HostListener('window:beforeunload', ['$event'])
onWindowClose(event: any): void {
this.doSomething();
}
解决方案
您可以使用HostListener防止单独组件的窗口关闭事件。
首先在您的组件中导入HostListener
import { HostListener } from '@angular/core';
并且,使用此代码来防止窗口关闭。
@HostListener('window:beforeunload', ['$event'])
onWindowClose(event: any): void {
// Do something
event.preventDefault();
event.returnValue = false;
}
现在,您的事件被阻止了。
推荐阅读
- haskell - userError 和 isUserError 函数的用途是什么?
- reactjs - 用 axios 发布数据,没有数据键
- javascript - Blazor RenderTreeBuilder 构建器调整大小
- javascript - 如何在 Google App Script 中处理大数字(int64 / bigInt)?
- webpack - Vuetify-loader 和 markdown loader
- c# - 从html(.aspx)页面传递参数时,如何在asp.net Url路由中用连字符'-'替换空格
- postgresql - 在 HSTORE 上创建检查约束以维护特定的数据连续性
- angular - 使用 Angular 和 Typescript 的策略模式
- php - PHP) mysqli_prepare 在 if 语句中不起作用
- ios - 每次关闭应用程序后 Xcode Firebase 身份验证都会注销