vue
vue copied to clipboard
fix(patch): clone insert hooks to avoid being mutated during iteration
What kind of change does this PR introduce? (check at least one)
- [x] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:
Does this PR introduce a breaking change? (check one)
- [ ] Yes
- [x] No
If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:
- [x] It's submitted to the
main
branch for v2.x (or to a previous version branch) - [ ] When resolving a specific issue, it's referenced in the PR's title (e.g.
fix #xxx[,#xxx]
, where "xxx" is the issue number) - [x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
- [x] New/updated tests are included
If adding a new feature, the PR's description includes:
- [ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)
Other information: repro: https://jsbin.com/zobarureye/edit?html,js,console,output
There is a component called v-switch
that is placed inside a transition-group
element. The v-switch
component has a directive called v-foo
, accepts a boolean prop called isOn
and switches its template root according to the value of isOn
. The v-foo
directive has an inserted hook that should be called to ensure that the binding logic is refreshed whenever the template root changes.