2016-06-14 2 views
1

La suppression d'élément du DOM avec ng-if ou ng-show est retardée lorsque ngAnimate est injecté dans l'application, cela ne se produit pas autrement.La suppression d'élément via ng-if est retardée lors de l'utilisation de ngAnimate

Plunkr: https://plnkr.co/edit/rPTjsDCcgGpg6xfS0IVP

var app = angular.module('app', ['ngAnimate']); 

Pourquoi est-ce qui se passe, et comment puis-je résoudre ce problème?

+0

Vous avez probablement une transition CSS quelque part autour de l'élément/classes en question. – Phil

+0

Je suis à peu près sûr que cela se passe dans le fichier semantic.css que vous incluez. –

+0

Cela ne se produit pas si ngAnimate n'est pas injecté. Si vous supprimez ngAnimate, vous verrez qu'il fonctionne comme prévu avec ou sans semantic-ui. –

Répondre

-1

Le problème est dans le fichier semantic.min.css. Enlevez cette ligne et vous ne voyez plus le scintillement (bien sûr, vous n'avez pas de style non plus). Ce que cela signifie, c'est que semantic-ui ajoute des transitions que ng-animate récupère.

En fait, il semble que la classe ui cause le problème. Enlevez cette classe et le scintillement disparaît aussi (tout comme le style). Ceci n'est pas très utile en soi, mais cela indique que le problème se situe à l'intersection de l'interface angulaire et de l'interface sémantique-ui.