2016-03-23 13 views
1

Ich versuche Animationsklasse auf Bereichswert ändern, aber Anweisung wird nie hier aufgerufen.angularjs Direktive heißt nicht

<md-card animateOnChange="currentCard.fab_id"> 
    <md-card-header-text> 
     <span class="md-subhead">Id: {{currentCard.fab_id}} </span> 
    </md-card-header-text> 
    </md-card-header> 
</md-card> 

Richtlinie:

.directive('animateOnChange', function($timeout) { 
    return function(scope, element, attr) { 
     scope.$watch(attr.animateOnChange, function(nv,ov) { 
      if (nv!=ov) { 
       element.addClass('animated shake changed'); 
       $timeout(function() { 
        element.removeClass('animated shake changed'); 
       }, 1000); 
      } 
     }); 
    } 
    }) 
+0

Haben Sie versucht, das Hinzufügen '' statt '' – e11438

+0

bei dem einer Warnung Erklärung hinzufügen richtiger Anfang der Funktion und sag uns, was du siehst. –

Antwort

0

Versuchen:

<md-card animate-on-change="currentCard.fab_id"> 

und:

scope.$watch(attr.animateOnChange, function(nv,ov) {...} 

weil AngularJS Richtlinie und Attribute normalisiert. Siehe https://docs.angularjs.org/guide/directive

+0

Danke. Ich habe das einfach ignoriert :) Eine weitere Sache ist, dass die animierte Schüttelklasse von animate.css nicht angewendet wird, aber die CSS-Klasse tut es. Irgendeine Idee? –

+0

Sie fügen und entfernen 3 Klassen? Oder nur eine und da ist ein Tippfehler? – Thierry