如果单击外部或ESC按钮,则限制ng-bootstrap模式关闭

Ari*_*San 12 angular

我正在使用ng-bootstrap为我的angular2项目打开一个模态.如果我点击外面和ESC按钮,模态就会消失.我想限制这两种行为.下面是我打开模态的代码

import { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';
.....
modalOption: NgbModalOptions = null;
constructor(
private modalService: NgbModal,
....
}
....
//the method I am using to open a modal
openAddModal() {
    this.modalOption.backdrop = 'static';
    this.modalOption.keyboard = false;
    const modalRef =  this.modalService.open(PremiumProtectionComponent,this.modalOption);
    .....
}
Run Code Online (Sandbox Code Playgroud)

PremiumProtectionComponent是模态的ts文件.

下面是我调用该方法的HTML

<a (click)="openAddModal()">Click to open modal</a>

任何人都可以建议我实现这种行为的正确方法.提前致谢

dfs*_*fsq 25

您需要在modalOptions 对象上设置backdropkeyboard属性,而不是:null

modalOption: NgbModalOptions = {}; // not null!

// ...

openAddModal() {
    this.modalOption.backdrop = 'static';
    this.modalOption.keyboard = false;
    const modalRef = this.modalService.open(PremiumProtectionComponent,this.modalOption);
}
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以直接添加 ngModelOptions。

openAddModal() {
    const modalRef = this.modalService.open(PremiumProtectionComponent,{
        backdrop: 'static',
        keyboard: false
    });
}
Run Code Online (Sandbox Code Playgroud)