首页 > 解决方案 > 如何在 Angular 2+ 中使用 HostListener 防止窗口关闭事件

问题描述

我正在使用 HostListener 来获取窗口关闭事件并尝试阻止该事件。

我首先导入了 HostListener 并使用了这段代码。但是,我无法阻止窗口关闭事件。

  import { HostListener } from '@angular/core';

  @HostListener('window:beforeunload', ['$event'])
   onWindowClose(event: any): void {

       this.doSomething();

   }

标签: eventsangular5onbeforeunload

解决方案


您可以使用HostListener防止单独组件的窗口关闭事件。

首先在您的组件中导入HostListener

import { HostListener } from '@angular/core';

并且,使用此代码来防止窗口关闭。

  @HostListener('window:beforeunload', ['$event'])
   onWindowClose(event: any): void {
    // Do something

     event.preventDefault();
     event.returnValue = false;

  }

现在,您的事件被阻止了。


推荐阅读