2014-02-12 1 views
11

Я использую модальный модуль Angular UI Bootstrap, который можно закрыть с помощью кнопки «Отмена» или через ESC. Поскольку я должен выполнить некоторую очистку, когда она закрывается, я написал метод отмены в области, но это вызывается только при нажатии этой кнопки «Отмена», как я могу это сделать, чтобы называть эти функции очистки, когда она закрывается также на ESC ?Функция call callback на esc в модальном модуле UT Bootstrap

ответ

22

Когда модаль отклоняется (либо нажатием клавиши ESC, либо щелчком по фону), обещание, возвращенное из вызова метода $modal.open, - отклонено. Таким образом, вы можете реагировать на нажатие ESC, добавив обработчик ошибок в возвращаемое обещание. Это иллюстрируется на примере доступны демо-странице: http://plnkr.co/edit/xMTr78WJQbKyHsA53gyv?p=preview (см следующую строку: $log.info('Modal dismissed at: ' + new Date());)

+0

может в доступ к информации в модальном охвате, когда вызывается увольнение? –

+0

Реально аккуратная реализация, спасибо миллиону – JSancho

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(); 
}); 
+1

, если U запускает ту же функцию для закрытия и отклонения модальности, я бы предложил использовать ['finally'] (function() {....}) вместо дублирующих триггеров;) – Ghashange

+0

good точка! я не знаю больше, если бы я действительно вызывал updateUI-fn в обоих случаях ... – Guntram

Смежные вопросы