2016-04-12 7 views
0

Ich möchte eine Klasse wechseln unter dem Code (dank Zombi für die directive er gemacht)Toggle Kategorie unter Verwendung der Winkel Richtlinie

ich kann nicht herausfinden, wie man eine Klasse eines Elements „B“ durch das Element klicken ändern "EIN". Könnten Sie bitte etwas vorschlagen?

Angular

module.directive('toggleClass', function() { 
return { 
    restrict: 'A', 
    link: function(scope, element, attrs) { 
     element.bind('click', function() { 
      element.toggleClass(attrs.toggleClass); 
     }); 
    } 
}; 

HTML

<li> <- Clicked Element 
    <span toggle-class="open"></span> <-Toggled Class 
</li> 
+0

ng-Klasse vielleicht? – MrNew

+0

es funktionierte mit der ng-Klasse, aber ich würde gerne an der Richtlinie bleiben, da ich es überall in meiner App verwenden werde –

Antwort

1

Sehr einfach, Code wie folgt ändern:

module.directive('toggleClass', function() { 
    return { 
     restrict: 'A', 
     link: function(scope, element, attrs) { 
      element.parent().bind('click', function() { 
       element.toggleClass(attrs.toggleClass); 
      }); 
     } 
    }; 
}); 

JSFiddle

+0

Indeed :) Vielen Dank! –

+0

Andere Sache ist, was ist, wenn ich nicht möchte, dass das Child-Element umgeschaltet wird? :) Fragen nur für die zukünftige Verwendung ... –

+0

Nur Ziel von element.parent() zu Element ändern – MBN

Verwandte Themen