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

Commit e1132f5

Browse files
lgalfasopkozlowski-opensource
authored andcommittedJan 7, 2015
fix(ngClass): handle multi-class definitions as an element of an array
Handles multi-class definition as an element of an array Closes #8578 Closes #10651
1 parent ab4b632 commit e1132f5

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed
 

‎src/ng/directive/ngClass.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ function classDirective(name, selector) {
9797

9898
function arrayClasses(classVal) {
9999
if (isArray(classVal)) {
100-
return classVal;
100+
return classVal.join(' ').split(' ');
101101
} else if (isString(classVal)) {
102102
return classVal.split(' ');
103103
} else if (isObject(classVal)) {

‎test/ng/directive/ngClassSpec.js

+10
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,16 @@ describe('ngClass', function() {
8888
}));
8989

9090

91+
it('should support adding multiple classes via a space delimited string inside an array', inject(function($rootScope, $compile) {
92+
element = $compile('<div class="existing" ng-class="[\'A B\', \'C\']"></div>')($rootScope);
93+
$rootScope.$digest();
94+
expect(element.hasClass('existing')).toBeTruthy();
95+
expect(element.hasClass('A')).toBeTruthy();
96+
expect(element.hasClass('B')).toBeTruthy();
97+
expect(element.hasClass('C')).toBeTruthy();
98+
}));
99+
100+
91101
it('should preserve class added post compilation with pre-existing classes', inject(function($rootScope, $compile) {
92102
element = $compile('<div class="existing" ng-class="dynClass"></div>')($rootScope);
93103
$rootScope.dynClass = 'A';

0 commit comments

Comments
 (0)