可以使AngularJS $模态服务(ui.bootstrap.modal)同步阻塞吗?

时间:2014-08-12 20:32:54

标签: angularjs angular-ui angular-ui-bootstrap

我使用AngularJS $模式服务(ui.bootstrap.modal)来显示一个对话框:

$modal.open({
  templateUrl: 'resources/qad/qraview/view/qModalDialog.html',
  controller: qModalDialogController,
  backdrop: 'static',  
  keyboard: false,  
  resolve: {
    modalOptions: function () {
      return $scope.modalOptions;
    }
  }
});

对$ modal.open的调用是异步的,并立即返回。由于我的程序流程,我需要$ modal.open来阻止,直到用户通过单击“确定”或“取消”解除对话框。有没有办法让$ modal.open同步?

1 个答案:

答案 0 :(得分:3)

使用result属性返回的promise(如PSL所述)。然后代码看起来像这样:

$modal.open({
     templateUrl: 'myModal.html',
     controller: 'ModalDialogController', 
})
.result.then(
    function () {
        alert("OK");
    }, 
    function () {
        alert("Cancel");
    }
);

这是一个fiddle