当在角度5中按下浏览器后退按钮时,我的模式弹出窗口没有关闭

时间:2019-02-07 13:49:00

标签: angular

kubectl run hello-world --replicas=5 --labels="run=load-balancer-example" --image=gcr.io/google-samples/node-hello:1.0  --port=8080 --generator=run-pod/v1

当以角度5按下浏览器后退按钮时,我的模式弹出窗口没有关闭 按下后退按钮时如何关闭此弹出窗口。

3 个答案:

答案 0 :(得分:0)

仅建议ngOnDestroy()方法调用此关闭函数。

ngOnDestroy(){
   // apply close logic here.
}

参考:-

https://angular.io/api/core/OnDestroy

示例:- HTML

<button type="button" class="close" data-dismiss="modal" #closeAddExpenseModal>&times;</button>

打字稿

import { ViewChild, ElementRef} from '@angular/core';

@ViewChild('closeAddExpenseModal') closeAddExpenseModal: ElementRef;

ngOnDestroy(){
 this.closeAddExpenseModal.nativeElement.click();
}

答案 1 :(得分:0)

您可以收听popstate的{​​{1}}事件。

如果模态本身就是一个组件,则可以使用

window

或者,如果您在组件模板中打开模态:

如果模态本身就是一个组件,则可以使用

@HostListener('window:popstate', ['$event'])
onPopState(event) {
    event.preventDefault();
    event.stopPropogation();
    this.close(); // Or call what the dismiss method is
}

答案 2 :(得分:0)

这是答案。

openPopup() {
    if (this.showFileUpload) {
        this.mdl= this.modalService.open(this.uploadFileModal);
        setTimeout(() => {
            this.mdl.close();
        }, 9000);
    }
}