NgClassOddDirective 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-odd]', map: const {'ng-class-odd': '@valueExpression'}) class NgClassOddDirective extends _NgClassBase { NgClassOddDirective(dom.Element element, Scope scope, NodeAttrs attrs) : super(element, scope, 0, attrs); }
Extends
_NgClassBase > NgClassOddDirective
Properties
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); } } }); } }