mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-04-06 09:01:31 +08:00
fix(ngClass): support multiple classes in key
This commit is contained in:
@@ -106,7 +106,7 @@ function classDirective(name, selector) {
|
||||
var classes = [], i = 0;
|
||||
forEach(classVal, function(v, k) {
|
||||
if (v) {
|
||||
classes.push(k);
|
||||
classes = classes.concat(k.split(' '));
|
||||
}
|
||||
});
|
||||
return classes;
|
||||
|
||||
@@ -207,6 +207,23 @@ describe('ngClass', function() {
|
||||
expect(e2.hasClass('odd')).toBeTruthy();
|
||||
}));
|
||||
|
||||
it('should allow ngClass with overlapping classes', inject(function($rootScope, $compile, $animate) {
|
||||
element = $compile('<div ng-class="{\'same yes\': test, \'same no\': !test}"></div>')($rootScope);
|
||||
$rootScope.$digest();
|
||||
|
||||
expect(element).toHaveClass('same');
|
||||
expect(element).not.toHaveClass('yes');
|
||||
expect(element).toHaveClass('no');
|
||||
|
||||
$rootScope.$apply(function() {
|
||||
$rootScope.test = true;
|
||||
});
|
||||
|
||||
expect(element).toHaveClass('same');
|
||||
expect(element).toHaveClass('yes');
|
||||
expect(element).not.toHaveClass('no');
|
||||
}));
|
||||
|
||||
it('should allow both ngClass and ngClassOdd/Even with multiple classes', inject(function($rootScope, $compile) {
|
||||
element = $compile('<ul>' +
|
||||
'<li ng-repeat="i in [0,1]" ng-class="[\'A\', \'B\']" ' +
|
||||
|
||||
Reference in New Issue
Block a user