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

Why pass a parameter to $uibModalInstance.close(parameter)?

调用$uibModalInstance.close(parameter)时,我了解到它关闭了当前模式window。

但是close()方法里面的parameter有什么作用呢?

当您打开一个模式时,它会 return 一个具有多个承诺的对象,其中一个承诺是 result,当您使用参数调用 close 时,该承诺将得到解决给它。

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

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

一个常见的模式是在你的模式中有一个 save/confirm 按钮,并在结果成功时处理结果。要取消操作(拒绝结果承诺),您可以调用 $uibModalinstance.dismiss(reason)