55fe6d6331
The basic approach is to introduce a new elt.data() called $classCounts that keeps track of how many times ngClass, ngClassEven, or ngClassOdd tries to add a given class. The class is added only when the count goes from 0 to 1, and removed only when the count hits 0. To avoid duplicating work, some of the logic for checking which classes to add/remove move into this directive and the directive calls $animate. Closes #5271