aboutsummaryrefslogtreecommitdiffstats
path: root/src/directives.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/directives.js')
-rw-r--r--src/directives.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/directives.js b/src/directives.js
index 9aa0d57e..64a06359 100644
--- a/src/directives.js
+++ b/src/directives.js
@@ -571,9 +571,14 @@ function ngClass(selector) {
var existing = element[0].className + ' ';
return function(element){
this.$onEval(function(){
- if (selector(this.$index)) {
- var value = this.$eval(expression);
+ var scope = this;
+
+ if (selector(scope.$index)) {
+ var ngClassVal = scope.$eval(element.attr('ng:class') || '');
+ if (isArray(ngClassVal)) ngClassVal = ngClassVal.join(' ');
+ var value = scope.$eval(expression);
if (isArray(value)) value = value.join(' ');
+ if (ngClassVal && ngClassVal !== value) value = value + ' ' + ngClassVal;
element[0].className = trim(existing + value);
}
}, element);