Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 2871a11

Browse files
committed
refactor(ngClass): simplify conditions
1 parent 89268af commit 2871a11

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/ng/directive/ngClass.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ function classDirective(name, selector) {
1414
restrict: 'AC',
1515
link: function(scope, element, attr) {
1616
var classCounts = element.data('$classCounts');
17+
var oldModulo = true;
1718
var oldVal;
1819

1920
if (!classCounts) {
@@ -24,18 +25,20 @@ function classDirective(name, selector) {
2425
}
2526

2627
if (name !== 'ngClass') {
27-
scope.$watch('$index', function($index, old$index) {
28-
/* eslint-disable no-bitwise */
29-
var mod = $index & 1;
30-
if (mod !== (old$index & 1)) {
28+
scope.$watch('$index', function($index) {
29+
// eslint-disable-next-line no-bitwise
30+
var newModulo = $index & 1;
31+
32+
if (newModulo !== oldModulo) {
3133
var classes = arrayClasses(oldVal);
32-
if (mod === selector) {
34+
if (newModulo === selector) {
3335
addClasses(classes);
3436
} else {
3537
removeClasses(classes);
3638
}
39+
40+
oldModulo = newModulo;
3741
}
38-
/* eslint-enable */
3942
});
4043
}
4144

@@ -77,8 +80,7 @@ function classDirective(name, selector) {
7780
}
7881

7982
function ngClassWatchAction(newVal) {
80-
// eslint-disable-next-line no-bitwise
81-
if (selector === true || (scope.$index & 1) === selector) {
83+
if (oldModulo === selector) {
8284
var newClasses = arrayClasses(newVal || []);
8385
if (!oldVal) {
8486
addClasses(newClasses);

0 commit comments

Comments
 (0)