Что случилось с ngAnimate и ui.bootstrap modal?
В этом примере
http://plnkr.co/edit/ETwexjK0HRu3b8WovoJq
angular.module('animateApp', [
'ngAnimate', // adding this causes issue with modal backdrop
'ui.bootstrap'
])
Когда вы закрываете модальный, фон не исчезнет.
Если я прокомментирую зависимость "ngAnimate" (script.js строка 4), она работает нормально.
Я делаю что-то неправильно или это ошибка в ui.bootstrap при использовании с ngAnimate?
Ответы
Ответ 1
Кажется, что это разрывное изменение где-то между Angular 1.3.15 и 1.4.0.
По-видимому, что-то в ngAnimate изменилось, что мешает скрытию фона. Если вы отключите анимацию, фон скрывается хорошо:
$scope.openModal = function() {
$modal.open({
templateUrl: 'modal.html',
controller: 'ModalCtrl',
backdrop: true,
animation: false
});
}
Если вы опуститесь до 1.3.15, нет проблемы:
Plunker
Если вы проверяете страницу зависимостей для ui-bootstrap, это не выглядит так, что они до сих пор дошли до 1.4.0:
https://david-dm.org/angular-ui/bootstrap#info=devDependencies
Возможно, стоит опубликовать вопрос или посмотреть, есть ли у кого-то еще.
Ответ 2
Так как это временная проблема, вы можете настроить модальную анимацию как ложную.
app.config(['$modalProvider', function($modalProvider) {
$modalProvider.options.animation = false;
}
Таким образом вам придется сделать это изменение один раз, и все модальности будут работать нормально.