diff options
| author | Misko Hevery | 2010-04-12 14:28:15 -0700 | 
|---|---|---|
| committer | Misko Hevery | 2010-04-12 14:28:15 -0700 | 
| commit | 2637d4e90c8a43436d21a4b9e790b00ae461c438 (patch) | |
| tree | a952ccff0f34595a6624a01e840df823665c09a9 /src/directives.js | |
| parent | 843bd355d25ebf2369aec79f98cb6704d38497e9 (diff) | |
| download | angular.js-2637d4e90c8a43436d21a4b9e790b00ae461c438.tar.bz2 | |
removed Meta and allowed binding of HTML
Diffstat (limited to 'src/directives.js')
| -rw-r--r-- | src/directives.js | 24 | 
1 files changed, 18 insertions, 6 deletions
diff --git a/src/directives.js b/src/directives.js index 22ff7544..2ead4979 100644 --- a/src/directives.js +++ b/src/directives.js @@ -23,14 +23,23 @@ angularDirective("ng-eval", function(expression){  });  angularDirective("ng-bind", function(expression){ -  var templateFn = compileBindTemplate("{{" + expression + "}}");    return function(element) { -    var lastValue; +    var lastValue, lastError;      this.$onEval(function() { -      var value = templateFn.call(this, element); -      if (value != lastValue) { -        element.text(value); +      var error, value = this.$tryEval(expression, function(e){ +        error = toJson(e); +      }); +      if (value != lastValue || error != lastError) {          lastValue = value; +        lastError = error; +        elementError(element, NG_EXCEPTION, error); +        if (error) value = error; +        if (isElement(value)) { +          element.html(''); +          element.append(value); +        } else { +          element.text(value); +        }        }      }, element);    }; @@ -57,7 +66,10 @@ function compileBindTemplate(template){        var parts = [], self = this;        foreach(bindings, function(fn){          var value = fn.call(self, element); -        if (isObject(value)) value = toJson(value, true); +        if (isElement(value)) +          value = ''; +        else if (isObject(value)) +          value = toJson(value, true);          parts.push(value);        });        return parts.join('');  | 
