When Vue detects data mutation, it asynchronously defer DOM updates to the next "tick" so that multiple mutations trigger only one update cycle. In versions before 2.5, Vue has been deferring updates using what is known as the "Microtask" (as explained in this blog post).
This works fine in most situations, but we discovered an edge case:
- Given two nested elements, "outer" and "inner";
- "inner" has a click event handler which triggers an update