Performance: Emitting custom events
MEDIUM IMPACT
This affects interaction responsiveness and event handling efficiency in Vue components.
<template> <button @click="$emit('update', data.value)">Click</button> </template> <script setup> const data = { value: 1 }; </script>
<template> <button @click="$emit('update', data)">Click</button> </template> <script setup> const data = { value: 1 }; </script>
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Emit large objects as event payload | Multiple reactive updates | Multiple reflows if DOM changes | High paint cost due to layout thrashing | [X] Bad |
| Emit simple values as event payload | Minimal reactive updates | Single reflow if needed | Low paint cost | [OK] Good |