Achieving this two-way data binding across components is again so common that Vue has an abstraction for it. Using the modifier .sync it will automatically listen for the custom update: event.
.sync
update:
For this, we didn't have to change VCounter at all.