$ the-wire · showcase
VUE VAPOR REARCHITECTS EVENT DELEGATION, SHIPS BREAKING CHANGES
By RepoJournal · Filed · About Vue.js · Composed from the cited sources · methodology
Vue's experimental Vapor compiler just broke event handling to make it faster: event delegation is now opt-in, not automatic.
Vue-jsx-vapor v3.2.21 landed with a compiler overhaul that replaces the logicalIndex system with block placeholders [1], a fundamental shift in how the compiler tracks component structure. The same release flips event delegation from on-by-default to opt-in [1], giving you control over performance versus convenience. This tracks closely with upstream changes copied from vue/core [2] that fix event modifier preservation and quoted attribute spacing. The patch also resolves slot fallback behavior across multiple roots [3], addressing a corner case that would have bitten production code. In 8 commits across the experiment, zhiyuanzmj has been steadily pulling fixes from the mainline, suggesting Vapor is moving closer to stability.
Action items
- → Review event delegation changes in v3.2.21 before adopting Vapor in production vuejs/vue-jsx-vapor [plan]
- → Audit any existing Vapor projects for event modifier handling after the merge vuejs/vue-jsx-vapor [monitor]
References
- [1] v3.2.21 ↗ vuejs/vue-jsx-vapor
- [2] fix(compiler-vapor): preserve modifiers on merged event handlers ↗ vuejs/vue-jsx-vapor
- [3] fix(compiler/vapor): resolve fallback across multiple slot roots ↗ vuejs/vue-jsx-vapor