diff options
Diffstat (limited to 'src/ng/directive/booleanAttrs.js')
| -rw-r--r-- | src/ng/directive/booleanAttrs.js | 29 | 
1 files changed, 8 insertions, 21 deletions
| diff --git a/src/ng/directive/booleanAttrs.js b/src/ng/directive/booleanAttrs.js index 1468008c..b0c1b78f 100644 --- a/src/ng/directive/booleanAttrs.js +++ b/src/ng/directive/booleanAttrs.js @@ -284,7 +284,6 @@ forEach(BOOLEAN_ATTR, function(propName, attrName) {        priority: 100,        compile: function() {          return function(scope, element, attr) { -          attr.$$observers[attrName] = [];            scope.$watch(attr[normalized], function(value) {              attr.$set(attrName, !!value);            }); @@ -301,27 +300,15 @@ forEach(['src', 'href'], function(attrName) {    ngAttributeAliasDirectives[normalized] = function() {      return {        priority: 99, // it needs to run after the attributes are interpolated -      compile: function() { -        return function(scope, element, attr) { -          var value = attr[normalized]; -          if (value == undefined) { -            // undefined value means that the directive is being interpolated -            // so just register observer -            attr.$$observers[attrName] = []; -            attr.$observe(normalized, function(value) { -              attr.$set(attrName, value); +      link: function(scope, element, attr) { +        attr.$observe(normalized, function(value) { +          attr.$set(attrName, value); -              // on IE, if "ng:src" directive declaration is used and "src" attribute doesn't exist -              // then calling element.setAttribute('src', 'foo') doesn't do anything, so we need -              // to set the property as well to achieve the desired effect -              if (msie) element.prop(attrName, value); -            }); -          } else { -            // value present means that no interpolation, so copy to native attribute. -            attr.$set(attrName, value); -            element.prop(attrName, value); -          } -        }; +          // on IE, if "ng:src" directive declaration is used and "src" attribute doesn't exist +          // then calling element.setAttribute('src', 'foo') doesn't do anything, so we need +          // to set the property as well to achieve the desired effect +          if (msie) element.prop(attrName, value); +        });        }      };    }; | 
