diff options
| author | Vojta Jina | 2012-02-16 22:22:06 -0800 |
|---|---|---|
| committer | Vojta Jina | 2012-02-21 10:58:48 -0800 |
| commit | 6e635012fb30905e5fe659a024864e275f1c14b5 (patch) | |
| tree | d6ef5f72b89a374d0af58d547f5cd843156332ab /src | |
| parent | eb92735c9ea3e5ddc747b66d8e895b6187a5f9e0 (diff) | |
| download | angular.js-6e635012fb30905e5fe659a024864e275f1c14b5.tar.bz2 | |
feat(scope): scope.$emit/$broadcast return the event object, add cancelled property
Diffstat (limited to 'src')
| -rw-r--r-- | src/service/scope.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/service/scope.js b/src/service/scope.js index 4abf96f1..9b9e9215 100644 --- a/src/service/scope.js +++ b/src/service/scope.js @@ -585,12 +585,12 @@ function $RootScopeProvider(){ $emit: function(name, args) { var empty = [], namedListeners, - canceled = false, scope = this, event = { name: name, targetScope: scope, - cancel: function() {canceled = true;} + cancel: function() {event.cancelled = true;}, + cancelled: false }, listenerArgs = concat([event], arguments, 1), i, length; @@ -601,7 +601,7 @@ function $RootScopeProvider(){ for (i=0, length=namedListeners.length; i<length; i++) { try { namedListeners[i].apply(null, listenerArgs); - if (canceled) return; + if (event.cancelled) return event; } catch (e) { $exceptionHandler(e); } @@ -609,6 +609,8 @@ function $RootScopeProvider(){ //traverse upwards scope = scope.$parent; } while (scope); + + return event; }, @@ -662,6 +664,8 @@ function $RootScopeProvider(){ } } } while ((current = next)); + + return event; } }; |
