在Angular UI Bootstrap的模态中调用esc上的回调函数

时间:2014-02-12 20:45:11

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

我正在使用Angular UI Bootstrap的模式,可以通过Cancel按钮或通过ESC关闭。由于我必须在关闭时进行一些清理,我在范围内编写了“取消”方法,但仅在单击此取消按钮时调用此方法,如何在ESC关闭时调用此清洁功能?

2 个答案:

答案 0 :(得分:22)

当模式被解除时(通过按ESC或点击背景),$modal.open方法调用返回的承诺被拒绝。因此,您可以通过向返回的promise添加错误处理程序来对ESC按下做出反应。这在演示页面提供的示例中进行了说明:http://plnkr.co/edit/xMTr78WJQbKyHsA53gyv?p=preview (见此行:$log.info('Modal dismissed at: ' + new Date());

答案 1 :(得分:8)

感谢@ pkozlowski.opensource

我直接知道该怎么做:)

var modalWindow = $modal.open({
    windowClass: 'modal myKewlDialog',
    templateUrl: 'views/modals/myKewlModalTemplate.html',
    controller: 'myKewlModalController'
});

modalWindow.result.then(function (result) {
    updateUI();
}, function (result) {
    updateUI();
});