From 0305b6746e2c50960b042c5d687794e030930f8b Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Fri, 7 May 2010 13:43:54 -0700 Subject: change everything over to jasmine --- src/Scope.js | 5 +++-- src/directives.js | 8 ++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/Scope.js b/src/Scope.js index 9a20c214..687d3628 100644 --- a/src/Scope.js +++ b/src/Scope.js @@ -127,10 +127,11 @@ function createScope(parent, services, existing) { var watch = expressionCompile(watchExp), last; function watcher(){ - var value = watch.call(instance); + var value = watch.call(instance), + lastValue = last; if (last !== value) { last = value; - instance.$tryEval(listener, exceptionHandler, value, last); + instance.$tryEval(listener, exceptionHandler, value, lastValue); } } instance.$onEval(PRIORITY_WATCH, watcher); diff --git a/src/directives.js b/src/directives.js index d9cf7962..a3575d62 100644 --- a/src/directives.js +++ b/src/directives.js @@ -30,8 +30,9 @@ angularDirective("ng-bind", function(expression){ value = this.$tryEval(expression, function(e){ error = toJson(e); }), - isHtml = value instanceof HTML; - if (!isHtml && isObject(value)) { + isHtml = value instanceof HTML, + isDomElement = isElement(value); + if (!isHtml && !isDomElement && isObject(value)) { value = toJson(value); } if (value != lastValue || error != lastError) { @@ -41,6 +42,9 @@ angularDirective("ng-bind", function(expression){ if (error) value = error; if (isHtml) { element.html(value.html); + } else if (isDomElement) { + element.html(''); + element.append(value); } else { element.text(value); } -- cgit v1.2.3