如何在Angular中使用beforeUnloadHander防止浏览器关闭页面刷新对话框

时间:2020-05-03 14:35:20

标签: javascript angular

我正在使用beforeUnloadHander在关闭浏览器时调用API,但是刷新页面后它也可以正常工作。一切都很好,但是我想在刷新页面时至少删除对话框。这是下面的代码

home.component.ts

import { HostListener,Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
@Component({
  selector: 'app-home',
  template: '<button (click)="gonextPage()">Go to next page</button>',
  styleUrls: ['./home.component.css']
})

export class HomeComponent implements OnInit {
imageSource :any;
statusdata1: any;
moreThanTen:boolean = false;
showit:boolean = false;
groupList:any = [];
@HostListener('window:beforeunload', ['$event'])
beforeUnloadHander(event) {
    event.preventDefault();
    event.returnValue = true;
    this.stopData();
    //return false;
}

constructor(private router: Router) { }
gonextPage(){
this.router.navigateByUrl('/page1');    
}
  ngOnInit() {
    /* First data */
    let response = 
    {"vehicle_number":1,"vehicle_name":"car","status":"yellow"}
    let response1 = {"vehicle_number":0,"vehicle_name":"car","status":"yellow"}
    let response2 = {"vehicle_number":2,"vehicle_name":"car","status":"yellow"}
    this.groupList.push(response,response1,response2);
    console.log(this.groupList);      

  }

}

0 个答案:

没有答案