ngAnimate 和 ui.bootstrap 模态有什么问题?

What's wrong with ngAnimate and 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 一起使用时的错误?

这似乎是 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 的依赖项页面,看起来他们还没有 quite 赶上 1.4.0: https://david-dm.org/angular-ui/bootstrap#info=devDependencies

发布问题或查看是否有人已经发布问题可能是值得的。

因为这似乎是暂时的问题,您可以将模态动画设置为 false。

app.config(['$modalProvider', function($modalProvider)  {
  $modalProvider.options.animation = false;
}

这样一来,您只需进行一次此更改,所有模态框就可以正常工作。