This repository was archived by the owner on Apr 12, 2024. It is now read-only.
fix(Scope): $broadcast and $emit should set event.currentScope to null #7523
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When a event is finished propagating through Scope hierarchy the event's
currentScope
propertyshould be reset to
null
to avoid accidental use of this property in asynchronous event handlers.In the previous code, the event's property would contain a reference to the last Scope instance that
was visited during the traversal, which is unlikely what the code trying to grab scope reference expects.
BREAKING CHANGE: $broadcast and $emit will now reset the
currentScope
property of the event tonull once the event finished propagating. If any code depends on asynchronously accessing thei
currentScope
property, it should be migrated to usetargetScope
instead. All of these casesshould be considered programming bugs.
Closes #7445"