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