$ uibModal:从方法获取实例

时间:2016-10-11 07:44:10

标签: javascript angularjs bootstrap-modal

我正在通过方法使用模态,例如:

this.showModal = function () {
  return $uibModal.open({...});
}

然后在某些方法中我调用此函数:

this.showModal().result.then(function (someResult) {...});

但是如何使用方法调用来解雇?

因为我没有方法使用它,我可以关闭我的模态:

$uibModal.open({...}).result.then(function (someResult) {
  this.$dismiss();
})

但我不知道如何使用dismiss,当我使用方法承诺...

也许有人有想法?

3 个答案:

答案 0 :(得分:0)

您可以将模态存储在范围内的对象中,或者将其移动到服务中,然后在模态对象上调用dismiss

if(res1.getString(1).equals(title)); // Here :'(
{
    final String text1=res1.getString(0);
    Intent i=new Intent("com.example.dell.todolister.ViewNoteActivity");
    i.putExtra("TextBox1",text1);
    startActivity(i);
    break;
}

使用承诺时

var modalInstance;

this.showModal = function () {
  modalInstance = $uibModal.open({...});
  return modalInstance;
}

答案 1 :(得分:0)

我通常做的是制作模态实例:

$scope.doSomething = function(){
     var modalOptions = {...};
     openModal(modalOptions);
}

function openModal(modalOptions) {
            $scope.myModalInstance = $uibModal.open(modalOptions);
            $scope.myModalInstance.result.then(function () {
                //success callback
            }, function () {
                //error callback;
            });
        }

稍后,如果我想致电关闭或解雇,只需致电$scope.myModalInstance.close()$scope.myModalInstance.dismiss('cancel')

答案 2 :(得分:0)

open方法返回一个带有open, closed,dismiss ,close,rendered ,returned方法的模态实例。

在你的情况下,this.showModal是模态实例。

所以,你可以像这样调用关闭方法。

var self = this;
self.showModal = function () {
  return $uibModal.open({...});
}
//close the modal
self.showModal.close();