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
Post a Comment