コードでは、angular2 ng-bootstrap modalを1つ使用しました。
モーダルの外側をクリックしても、モーダルが閉じないようにします。現在、外側をクリックするとモーダルが閉じられます。
Angular1では、[keyboard] = "false" [backdrop] = "'static'"でこれを行っていました。しかし、今度は、angular2で動作していません。
これが私の plunker です
私のOpenメソッドは次のとおりです。
open() {
const modalRef = this.modalService.open(NgbdModalContent);
modalRef.componentInstance.name = 'World';
}
@anshuVersatileの回答によると、いくつかのモーダルオプションを使用する必要があることを理解しています。
次に、 NgbModalOptions のオブジェクトを作成し、openメソッドの2番目のパラメーターとして渡します。
コードは次のとおりです。
let ngbModalOptions: NgbModalOptions = {
backdrop : 'static',
keyboard : false
};
console.log(ngbModalOptions);
const modalRef = this.modalService.open(NgbdModalContent, ngbModalOptions);
これが更新された plunker です。
$modal.open({
// ... other options
backdrop : 'static',
keyboard : false
});
モーダルの作成中に、その動作を指定できます。
まだ遅いですが、問題に直面している他の誰かにとっては役立つかもしれません:
const config: ModalOptions = {
backdrop: 'static',
keyboard: false,
animated: true,
ignoreBackdropClick: true,
initialState: {
data1: 'new-user',
username: 'test'
}
};
this.bsModalRef = this.modalService.show(MyComponent, config);
initialStateオブジェクトは、データをモーダルに渡すために使用されます。