diff options
| author | Di Peng | 2011-08-25 16:31:00 -0700 |
|---|---|---|
| committer | Di Peng | 2011-08-25 16:34:18 -0700 |
| commit | 5927b23ef35736ec075e226c32d46decb5d42e34 (patch) | |
| tree | 4c3f6b934b12e16854983f7ba51402cdf9618b01 | |
| parent | 452607fc64b2b0ba5ee9a8745746e652ae21b6db (diff) | |
| download | angular.js-5927b23ef35736ec075e226c32d46decb5d42e34.tar.bz2 | |
fix(markup): Make special attrs such as ng:href work even without binding
- special attrs such as ng:href, ng:check did not work as intended when
their values do not contain bindings. And this commit is to fix that
Closes #534
| -rw-r--r-- | src/markups.js | 2 | ||||
| -rw-r--r-- | test/markupSpec.js | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/markups.js b/src/markups.js index 955b9844..3144bbb0 100644 --- a/src/markups.js +++ b/src/markups.js @@ -418,7 +418,7 @@ angularAttrMarkup('{{}}', function(value, name, element){ value = decodeURI(value); var bindings = parseBindings(value), bindAttr; - if (hasBindings(bindings)) { + if (hasBindings(bindings) || SPECIAL_ATTRS[name]) { element.removeAttr(name); bindAttr = fromJson(element.attr(NG_BIND_ATTR) || "{}"); bindAttr[SPECIAL_ATTRS[name] || name] = value; diff --git a/test/markupSpec.js b/test/markupSpec.js index 36861e17..ea786395 100644 --- a/test/markupSpec.js +++ b/test/markupSpec.js @@ -154,6 +154,14 @@ describe("markups", function(){ expect(sortedHtml(element)).toEqual('<a ng:bind-attr="{"href":"{{url}}","rel":"{{rel}}"}"></a>'); }); + it('should bind Text with no Bindings', function() { + forEach('src,href,checked,disabled,multiple,readonly,selected'.split(','), function(name) { + compile('<div ng:' + name +'="some"></div>'); + expect(sortedHtml(element)).toEqual('<div ng:bind-attr="{"' + name +'":"some"}"></div>'); + dealoc(element); + }); + }) + it('should Parse Text With No Bindings', function(){ var parts = parseBindings("a"); assertEquals(parts.length, 1); |
