Если вы установили backdrop: 'static'
в свой modalInstance
, то разрешите проблему?
Как это:
var modalInstance = $modal.open({
...
backdrop: 'static',
...
});
Затем вам нужно только контролировать кнопку ngClick ответственного закрыть модальный.
Надеюсь, это поможет.
UPDATE 1 [только подробнее]
Использование keyboard: false
для отключения Escape
:
var modalInstance = $modal.open({
...
backdrop: 'static',
keyboard: false
...
});
UPDATE 2
Я исследовал и нашел вариант. В вашем модальный контроллер, используйте:
$modalInstance.result.then(function (e) {
//...
}, function (e) {
//called before modal close
});
Пример:
var modalInstance = $modal.open({
templateUrl: templateUrl,
controller: modalController
});
function modalController($scope, $modalInstance){
... //your code
$modalInstance.result.then(function (e) {
//...
}, function (e) {
//called before modal close
});
... //your code
}
Но вам нужен способ, чтобы не продолжать мероприятия для закрыть модальный. Или разрешите пользователю сохранять данные до закрытия. Вот что дошло.
ОБНОВЛЕНИЕ 3
Check this.
В Документах они используют функцию отмены при нажатии кнопки отмены. Затем он вызывает «$ modalInstance.dismiss (« cancel »); внутри ModalInstanceCtrl. Не можете ли вы просто зарегистрироваться там, если есть несохраненные данные? – Viktor
К сожалению, модальная функция также закрывается, когда пользователь нажимает на задний план или нажимает клавишу эвакуации, эту функциональность следует оставить без изменений. – Mark
Я проверил исходный код для модальной директивы, и я не могу найти ничего, что позволит вам предотвратить его закрытие. Либо разветвите его, либо модифицируйте модуль, либо используйте что-то еще. Вы могли бы предложить этот подвиг команде угловатого ui, возможно, даже добавить ее сами. – Viktor