From 9368ea38141b8fda1524fdc34c38ecee16ee2afe Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Mon, 24 Jan 2011 15:30:28 -0800 Subject: Scope should retrieve $log and $exceptionHandler via $service - fix $log and $exceptionHandler retrieval - remove reference to non-existent `error` handler - update tests --- src/Scope.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/Scope.js') diff --git a/src/Scope.js b/src/Scope.js index a8c1322c..0f6dfcf5 100644 --- a/src/Scope.js +++ b/src/Scope.js @@ -243,6 +243,7 @@ function createScope(parent, providers, instanceCache) { parent = Parent.prototype = (parent || {}); var instance = new Parent(); var evalLists = {sorted:[]}; + var $log, $exceptionHandler; extend(instance, { 'this': instance, @@ -425,13 +426,13 @@ function createScope(parent, providers, instanceCache) { return expressionCompile(expression).call(instance); } } catch (e) { - (instance.$log || {error:error}).error(e); + if ($log) $log.error(e); if (isFunction(exceptionHandler)) { exceptionHandler(e); } else if (exceptionHandler) { errorHandlerFor(exceptionHandler, e); - } else if (isFunction(instance.$exceptionHandler)) { - instance.$exceptionHandler(e); + } else if (isFunction($exceptionHandler)) { + $exceptionHandler(e); } } }, @@ -635,5 +636,8 @@ function createScope(parent, providers, instanceCache) { (instance.$service = createInjector(instance, providers, instanceCache))(); } + $log = instance.$service('$log'); + $exceptionHandler = instance.$service('$exceptionHandler'); + return instance; } -- cgit v1.2.3