Я использую модальное окно Angular UI Bootstrap, которое можно закрыть с помощью кнопки «Отмена» или с помощью ESC. Поскольку мне нужно выполнить некоторую очистку, когда он закрывается, я написал метод «отмена» в области видимости, но он вызывается только при нажатии этой кнопки «Отмена», как я могу вызвать эти функции очистки, когда он также закрывается на ESC ?
Вызов функции обратного вызова по esc в модальном режиме Angular UI Bootstrap
Ответы (2)
Когда модальное окно закрывается (нажатием ESC или нажатием на фон), обещание, возвращаемое вызовом метода $modal.open
, отклоняется. Таким образом, вы можете реагировать на нажатие ESC, добавляя обработчик ошибок к возвращаемому обещанию. Это показано в примере, доступном на демонстрационной странице: http://plnkr.co/edit/xMTr78WJQbKyHsA53gyv?p=preview (см. эту строку: $log.info('Modal dismissed at: ' + new Date());
)
person
pkozlowski.opensource
schedule
13.02.2014
можно ли получить доступ к информации в модальной области, когда вызывается отклонение?
- person Dvid Silva; 10.09.2014
спасибо @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();
});
person
Guntram
schedule
03.04.2014
если U запускает одну и ту же функцию для закрытия и закрытия модального окна, я бы предложил использовать ['finally'](function(){....}) вместо дублирующихся триггеров;)
- person Ghashange; 24.07.2015
хорошая точка зрения! я больше не знаю, действительно ли я вызывал updateUI-fn в обоих случаях...
- person Guntram; 28.07.2015