如何检查模态窗口是否已打开?
我定义了一个像这样的属性
modalInstance: NgbModalRef;
并像这样实例化模态
this.modalInstance = this.modalService.open(UpdateModalContent);
我找不到像this.modalReminderInstance.isOpen
答案 0 :(得分:4)
当您设置modalInstance
时,它会返回一个承诺,而当模态已启动时,承诺设置为pending
,当模式关闭时,承诺状态将设置为已解决或已拒绝。
如果承诺将解决/拒绝.then
方法中的其中一个处理程序将运行。
var isModalOpen = false;
function openModal() {
isModalOpen = true;
modalInstance = $uibModal.open({...})
.result.then(function () {
// do something when resolved
});
}
另一种方法是利用回调方法.open
为您提供
open方法返回一个模态实例,一个具有以下属性的对象:
打开(类型:承诺) - 在下载内容模板并解析所有变量后打开模态时解决。
关闭(类型:保证) - 在关闭模态并完成动画时解析。
var isModalOpen = false;
function openModal() {
var modalInstance = $uibModal.open({...});
modalInstance.opened.then(function () {
isModalOpen = true;
});
modalInstance.closed.then(function () {
isModalOpen = false;
});
}