Ich bin das ngAnimate Modul verwenden, aber alle meine ng-if
, ng-show
usw, sind davon betroffen, möchte ich Hebel ngAnimate für einige ausgewählte Elemente. Für die Leistung und einige Fehler in Elementen, die sehr schnell ein- und ausgeblendet werden.
Vielen Dank.
angularjs
ng-animate
drtobal
quelle
quelle
display:block
auf alle Ihre Repeater:ng-hide-add-active, .ng-hide-remove { display: block!important; }
Antworten:
Fügen Sie dies einfach Ihrem CSS hinzu. Es ist am besten, wenn es die letzte Regel ist:
Fügen
no-animate
Sie dann der Elementklasse hinzu , die Sie deaktivieren möchten. Beispiel:quelle
.no-animate, .no-animate-children *
Regel hinzugefügt , um Kinder usw. abzudeckenWenn Sie Animationen für bestimmte Elemente aktivieren möchten ( anstatt sie für bestimmte Elemente zu deaktivieren), können Sie mit dem $ animateProvider Elemente mit einem bestimmten Klassennamen (oder regulären Ausdruck) zum Animieren konfigurieren.
Der folgende Code aktiviert Animationen für Elemente mit der
angular-animate
Klasse:Hier ist ein Beispiel-Markup, das die
angular-animate
Klasse zum Aktivieren von Animationen enthält:Plunker- Beispiel aus diesem Blog ausgeliehen und geändert, in dem nur der erste Filter Animationen enthält (aufgrund der
angular-animate
Klasse).Bitte beachten Sie, dass ich
angular-animate
als Beispiel verwende und es mit der.classNameFilter
Funktion vollständig konfigurierbar ist.quelle
/^(?:(?!ng-animate-disabled).)*$/
Regex, um die Annimation mitng-animate-disabled
Klasse zu deaktivieren .Es gibt zwei Möglichkeiten, Animationen in AngularJS zu entkalken, wenn Sie das Modul ngAnimate als Abhängigkeit von Ihrem Modul haben:
Deaktivieren oder aktivieren Sie die Animation global für den Dienst $ animate:
Deaktivieren Sie die Animationen für ein bestimmtes Element - dies muss das Element für diesen Winkel sein, um die CSS-Klassen des Animationsstatus hinzuzufügen (z. B. ng-enter, ...)!
Ab der Version Angular 1.4 sollten Sie die Argumente umkehren:
Dokumentation für
$animate
.quelle
Um ng-animate für bestimmte Elemente mithilfe einer CSS-Klasse zu deaktivieren, die dem Angular-Animate-Paradigma folgt, können Sie ng-animate so konfigurieren, dass die Klasse mithilfe von Regex getestet wird.
Konfig
Verwendung
Fügen Sie die
ng-animate-disabled
Klasse einfach zu allen Elementen hinzu, die von ng-animate ignoriert werden sollen.Gutschrift http://davidchin.me/blog/disable-nganimate-for-selected-elements/
quelle
danke, ich habe eine Direktive geschrieben, die Sie auf das Element setzen können
CoffeeScript:
JavaScript:
quelle
$animate.enabled(element,false);
Ich habe festgestellt, dass dies
$animate.enabled(false, $element);
für Elemente funktioniert, die verwendet werden,ng-show
oderng-hide
aber nicht für Elemente, dieng-if
aus irgendeinem Grund verwendet werden! Die Lösung, die ich letztendlich verwendet habe, bestand darin, alles in CSS zu erledigen, was ich aus diesem Thread auf GitHub gelernt habe .CSS
SCSS
quelle
Ich möchte ngAnimate NICHT für meine verwenden
ng-if
, daher wäre dies meine Lösung:Posten Sie dies einfach als einen weiteren Vorschlag!
quelle
Ich habe eine Liste, von der die erste
li
mit versteckt wirdng-hide="$first"
. Verwenden Sie dieng-enter
Ergebnisseli
, um eine halbe Sekunde lang angezeigt zu werden, bevor Sie verschwinden.Basierend auf der Lösung von Chris Barr sieht mein Code jetzt folgendermaßen aus:
HTML
CSS
quelle
Ich weiß, dass es sich um eine verspätete Antwort handelt, aber hier verwenden wir in MainController:
Das Problem ist jedoch, dass, wenn wir alle Animationen deaktivieren, die UI-Auswahl so konfiguriert ist
opacity: 0
.Daher ist es notwendig, die Deckkraft mithilfe von CSS auf 1 zu setzen:
Dadurch wird die Deckkraft richtig eingestellt und die UI-Auswahl funktioniert.
quelle