2016-10-26 1 views
0

Ich kann keine Funktion in der ng-Klasse ausführen. Ich habe kopiert, was ich gemacht habe. Kannst du nach dem Fehler suchen? Was ich tun möchte, ist, das Element, das mit einer Schaltfläche ausgewählt wurde, fett zu formatieren. Die Angular-Version ist 1.3.4. Kommentar 'index' wird niemals in der Konsole angezeigt.Keine funktionierende Funktion ng-Klasse mit ng-repeat

Html:

<li ng-repeat="i in getNumber(numsteps) track by $index" 
    ng-class="isActive($index) "> 
    {{$index + 1}} 
</li> 

JavaScript:

$scope.it = 0; 

$scope.isActive = function(index) { 
    console.log('index'); 
    if ($scope.it === index) { 
     return "bold"; 
    } 
}; 

$scope.next = function() {     
    $scope.it = $scope.it < $scope.dataNumsteps 
     ? $scope.it + 1 
     : $scope.dataNumsteps; 

    console.log($scope.it); 
}; 

$scope.after = function() {     
    $scope.it = $scope.it > 1 ? $scope.it - 1 : 1 
    console.log($scope.it); 
}; 
+1

Versuchen Sie eine semantische Verwendung der ng-Klasse: 'ng-class =" {bold: it === $ in dex} "' –

+0

William B Es ist die erste Lösung, die ich versuchte, aber nicht funktioniert – jmrosdev

+0

Es funktioniert mit Wertvergleicher '==', obwohl die Typen sind die gleichen Winkel müssen etwas Unerwartetes tun, wenn sie sie vergleichen. @ ram1993, Zitate egal, wenn es keine Leerzeichen oder Bindestriche im Klassennamen gibt. http://jsfiddle.net/qopfm2vw/1/ –

Antwort

1

Ich denke, Ihre eigentliche Problem der Raum in Ihrem ng-Klasse Attribut ist: ng-class="isActive($index) "

Wenn er entfernt wird, funktioniert es: http://jsfiddle.net/7pn2un39/

+0

Nicht gefunden. Die Nachricht 'index' wird nicht von der Konsole ausgegeben. also nicht in die Funktion – jmrosdev

+0

Wovon sprichst du? Dieses Beispiel funktioniert. Sehen Sie sich die fettgedruckte Klasse in der ersten li an: 'class =" ng-scope ng-binding fett "' –

+0

Schauen Sie sich console.log ('index') an. Die Nachricht keine Ausgabe von der Konsole ... Aber in Ihrem Beispiel ja – jmrosdev

Verwandte Themen