为什么要将参数传递给$ uibModalInstance.close(参数)?

时间:2016-06-08 12:40:31

标签: angularjs angular-ui-bootstrap

调用$uibModalInstance.close(parameter)时,我知道它会关闭当前的模态窗口。

但是parameter方法中的close()做了什么?

1 个答案:

答案 0 :(得分:4)

当你打开一个模态时,它将返回一个带有多个promises的对象,其中一个promises为result,当你使用给定的参数调用close时,这个promise将得到解决。

var modalInstance = $uibModal.open({
    controller: function($uibModalInstance) {
        $uibModalInstance.close('testParameter');
    }
});

modalInstance.result.then(function(parameter) {
    console.log(parameter); // logs 'testParameter'
});

一种常见的模式是在你的模态中有一个保存/确认按钮,并在结果成功中处理结果。要取消操作(拒绝结果承诺),您可以致电$uibModalinstance.dismiss(reason)