Ich habe diesen Code in ng-repeat:
<a href="#" class="disabled" ng-click="doSomething(object)">Do something</a>
Wie kann eine Bedingung festgelegt werden, dass die Schaltfläche deaktiviert ist, wenn dies der Fall ist class="disabled"
?
Oder gibt es eine Möglichkeit, dies in Javascript zu tun, damit es so aussieht:
$('.do-something-button').click(function(){
if (!$(this).hasClass('disabled')) {
do something
}
});
quelle
||
sollte sein&&
, obwohl es in Ihrem Plunk funktioniert, wenn isDisabled eine Methode ist, suchen Double Pipes weiter nach einem gültigen Ausdruck. Dies ist nicht der Fall mit&&
isDisabled()
false zurückgegeben wird, wird wederaction()
aufgerufen, noch wird die Überprüfung "auf einen gültigen Ausdruck" fortgesetzt.Wir können ng-click-Ereignisse bedingt hinzufügen, ohne die deaktivierte Klasse zu verwenden.
HTML:
quelle
Ich benutze den && Ausdruck, der perfekt für mich funktioniert.
Beispielsweise,
Wenn
vm.slideOneValid
false ist, wird der zweite Teil des Ausdrucks nicht ausgelöst. Ich weiß, dass dies Logik in das DOM einfügt, aber es ist ein schneller und schmutziger Weg, um ng zu deaktivieren und ng-click zu platzieren, um nett zu platzieren.Denken Sie daran, dem Element ein ng-Modell hinzuzufügen, damit ng-deaktiviert funktioniert.
quelle
Grundsätzlich wird
ng-click
zuerst überprüftisDisabled
und anhand des Werts entschieden, ob die Funktion aufgerufen werden soll oder nicht.ODER lesen Sie es als
quelle
Sie könnten versuchen, zu verwenden
ng-class
.Hier ist mein einfaches Beispiel:
http://plnkr.co/edit/wS3QkQ5dvHNdc6Lb8ZSF?p=preview
Der Status ist ein benutzerdefiniertes Attribut des Objekts. Sie können es beliebig benennen.
Das
disabled
inng-class
ist ein CSS-Klassenname, dasobject.status
solltetrue
oder seinfalse
Sie können den Funktionsstatus jedes Objekts ändern
disableIt
.In Ihrem Controller können Sie Folgendes tun:
quelle
Ich hatte auch dieses Problem und habe einfach herausgefunden, dass das Problem behoben ist, wenn Sie einfach das "#" entfernen. So was :
quelle
href
sollte nicht verwendet werden, verwenden Sieng-href
stattdessen.ng-href
ist nur erforderlich, wenn Sie den Pfad dynamisch berechnen müssen. Wenn sich der Pfad nie ändert,href
ist das in Ordnung.