angularjs - Difficulty adding multiple classes wit ng-class -


i'm trying add 2 classes div using ng-class, though checkforactive returning true, it's being ignored , class_{{$index}} getting added.

if remove class_{{$index}} altogether, active added correctly.

is there obvious mistake in syntax here?

<div "ng-class="{active: checkforactive, disabled: checkfordisable, class_{{$index}}} "></div> 

you provide true value key class_{{$index}} property gets added class name class list of element. way active: checkforactive.

i.e

{active: checkforactive, disabled: checkfordisable, class_{{$index}} :true} 

but believe there undesired behavior due usage of interpolation ({{) within ng-class directive (atleast used happen older versions). use array.

ng-class="[checkforactive && 'active' , checkfordisable && 'disabled', 'class_' + $index]" 

the above method add class name false if active or disabled false, should harmless.

or pass index controller function getstatus($index) , return object there , use in ng-class directive.

 $scope.getclass = function(){      var obj = {active: $scope.checkforactive, disabled: $scope.checkfordisable};       obj['class_' + this.$index] = true;      return obj;  } 

and

 ng-class="getclass()" 

@okazari pointed out indeed works mixing class ng-class do:

class="class_{{$index}}" ng-class="{active: checkforactive, disabled: checkfordisable}" 

Comments

Popular posts from this blog

How has firefox/gecko HTML+CSS rendering changed in version 38? -

javascript - Complex json ng-repeat -

jquery - Cloning of rows and columns from the old table into the new with colSpan and rowSpan -