aboutsummaryrefslogtreecommitdiffstats
path: root/src/Scope.js
diff options
context:
space:
mode:
authorMisko Hevery2010-03-30 14:55:04 -0700
committerMisko Hevery2010-03-30 14:55:04 -0700
commita7d62dcb5533ceb9a7ae47ee27e2054400a0196b (patch)
tree4c3702dbf899a8c669b833157b86a883c55d77ba /src/Scope.js
parentd2d356918bd1c0c76673d22ff85c617fbd85d40e (diff)
downloadangular.js-a7d62dcb5533ceb9a7ae47ee27e2054400a0196b.tar.bz2
more tests fixed
Diffstat (limited to 'src/Scope.js')
-rw-r--r--src/Scope.js15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/Scope.js b/src/Scope.js
index cd4eb8ea..dbb6c4aa 100644
--- a/src/Scope.js
+++ b/src/Scope.js
@@ -110,25 +110,26 @@ function createScope(parent, Class) {
if (isDefined(exp)) {
return expressionCompile(exp).apply(instance, slice.call(arguments, 1, arguments.length));
} else {
- foreach(evalList, function(eval) {
- instance.$tryEval(eval.fn, eval.handler);
- });
- var dirty = false;
foreach(watchList, function(watch) {
var value = instance.$tryEval(watch.watch, watch.handler);
if (watch.last !== value) {
- dirty = true;
instance.$tryEval(watch.listener, watch.handler, value, watch.last);
watch.last = value;
}
});
- if (dirty) $eval();
+ foreach(evalList, function(eval) {
+ instance.$tryEval(eval.fn, eval.handler);
+ });
}
},
$tryEval: function (expression, exceptionHandler) {
try {
- return expressionCompile(expression).apply(instance, slice.call(arguments, 2, arguments.length));
+ var value = expressionCompile(expression).apply(instance, slice.call(arguments, 2, arguments.length));
+ if (exceptionHandler) {
+ errorHandlerFor(exceptionHandler)();
+ }
+ return value;
} catch (e) {
error(e);
if (isFunction(exceptionHandler)) {