Dart Documentationangular.directiveNgClassEvenDirective

NgClassEvenDirective class

The ngClassOdd and ngClassEven directives work exactly as {@link ng.directive:ngClass ngClass}, except it works in conjunction with ngRepeat and takes affect only on odd (even) rows.

This directive can be applied only within a scope of an ngRepeat.

Examples

index.html:

<li ng-repeat="name in ['John', 'Mary', 'Cate', 'Suz']">
  <span ng-class-odd="'odd'" ng-class-even="'even'">
    {{name}}
  </span>
</li>

style.css:

.odd {
  color: red;
}
.even {
  color: blue;
}
@NgDirective(
   selector: '[ng-class-even]',
   map: const {'ng-class-even': '@valueExpression'})
class NgClassEvenDirective extends _NgClassBase {
 NgClassEvenDirective(dom.Element element, Scope scope, NodeAttrs attrs)
     : super(element, scope, 1, attrs);
}

Extends

_NgClassBase > NgClassEvenDirective

Constructors

new NgClassEvenDirective(Element element, Scope scope, NodeAttrs attrs) #

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

docs inherited from Object
NgClassEvenDirective(dom.Element element, Scope scope, NodeAttrs attrs)
   : super(element, scope, 1, attrs);

Properties

var currentSet #

inherited from _NgClassBase
var currentSet = []

final Element element #

inherited from _NgClassBase
final dom.Element element

final int mode #

inherited from _NgClassBase
final int mode

final NodeAttrs nodeAttrs #

inherited from _NgClassBase
final NodeAttrs nodeAttrs

var previousSet #

inherited from _NgClassBase
var previousSet = []

final Scope scope #

inherited from _NgClassBase
final Scope scope

dynamic set valueExpression(currentExpression) #

inherited from _NgClassBase
set valueExpression(currentExpression) {
 // this should be called only once, so we don't worry about cleaning up
 // watcher registrations.
 scope.$watchCollection(currentExpression, (current) {
   currentSet = _flatten(current);
   _handleChange(scope[r'$index']);
 });
 if (mode != null) {
   scope.$watch(r'$index', (index, oldIndex) {
     var mod = index % 2;
     if (oldIndex == null || mod != oldIndex % 2) {
       if (mod == mode) {
         element.classes.addAll(currentSet);
       } else {
         element.classes.removeAll(previousSet);
       }
     }
   });
 }
}