diff options
| author | Misko Hevery | 2010-03-30 14:55:04 -0700 |
|---|---|---|
| committer | Misko Hevery | 2010-03-30 14:55:04 -0700 |
| commit | a7d62dcb5533ceb9a7ae47ee27e2054400a0196b (patch) | |
| tree | 4c3702dbf899a8c669b833157b86a883c55d77ba /src/Scope.js | |
| parent | d2d356918bd1c0c76673d22ff85c617fbd85d40e (diff) | |
| download | angular.js-a7d62dcb5533ceb9a7ae47ee27e2054400a0196b.tar.bz2 | |
more tests fixed
Diffstat (limited to 'src/Scope.js')
| -rw-r--r-- | src/Scope.js | 15 |
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)) { |
