2015-06-03 8 views
10

In diesem BeispielWas ist los mit ngAnimate und ui.bootstrap modal?

http://plnkr.co/edit/ETwexjK0HRu3b8WovoJq

angular.module('animateApp', [ 
    'ngAnimate', // adding this causes issue with modal backdrop 
    'ui.bootstrap' 
]) 

Wenn Sie in der Nähe modal, die Kulisse nicht weggeht. Wenn ich die 'ngAnimate' Abhängigkeit (script.js Zeile 4) auskommentiert, funktioniert es gut.

Mache ich etwas falsch oder ist das ein Bug in ui.bootstrap, wenn es mit ngAnimate verwendet wird?

Antwort

12

Es scheint eine brechende Änderung zwischen Angular 1.3.15 und 1.4.0 zu sein. Offensichtlich hat sich etwas in ngAnimate geändert, das sich im Hintergrund versteckt. Wenn Sie die Animation deaktivieren, die Kulisse versteckt fein:

$scope.openModal = function() { 
    $modal.open({ 
     templateUrl: 'modal.html', 
     controller: 'ModalCtrl', 
     backdrop: true, 
     animation: false 
    }); 
    } 

Wenn Sie unten auf 1.3.15 fallen, gibt es kein Problem ist: Plunker

Wenn Sie die Abhängigkeiten Seite für ui-Bootstrap überprüfen, es sieht nicht aus, dass sie bis 1.4.0 noch ziemlich aufgeholt haben:

Es kann sich lohnen, ein Problem zu posten oder zu sehen, ob jemand schon hat.

+0

Danke, hier ist der Verweis auf die Fehlerberichte https://github.com/angular-ui/bootstrap/issues/3633 und https://github.com/angular-ui/bootstrap/issues/3620 – Reynard

+0

danke du tpie !, das hat meine Zeit gerettet. –

0

Da dies ein vorübergehendes Problem zu sein scheint, können Sie die modalen Animationen als falsch konfigurieren.

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

Auf diese Weise müssen Sie diese Änderung einmal vornehmen und alle Modalitäten würden gut funktionieren.