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.
Fix: #4491
Context:
To apply directives in order #2446, which is to call
binding
,actions
andevent handler
in the order they are declared in the attributes, we grouped them together in #2737 and #4156.However,
actions
were previously called inmount
phase, andbinding
andevent handler
is called increate
phase.Grouping them together, meaning that they all of them have to be called in either
mount
phase or increate
phase.We moved all of them into
mount
phase, due to #4252.Now, whenever we update each block via
update_keyed_each
, existing item that got shuffled will be mounted again in the right position, triggering themount
phase, causing the the element to re-addEventListener.The reason why normal listeners doesn't seemed to be re-add is that if you call
addEventListener
with the same listener function, it will not be subscribed, but for the modifier version, we created a new listener function everytime, by decorating the normal listener with modifier function.