How to handle multiple v-model bindings in Vue

Managing multiple v-model bindings is essential for building complex Vue components that need to synchronize multiple data properties with parent components. As the creator of CoreUI, a widely used open-source UI library, I’ve implemented sophisticated two-way binding patterns in Vue components over 25 years of development. From my expertise, the most effective approach in Vue 3 is using named v-models with the defineEmits and defineProps composition API functions. This enables clean, type-safe multiple data bindings between parent and child components.

Use named v-models in Vue 3 to handle multiple two-way data bindings.

<!-- Child Component -->
<script setup>
const props = defineProps(['firstName', 'lastName'])
const emit = defineEmits(['update:firstName', 'update:lastName'])
</script>

<!-- Parent Component -->
<UserForm v-model:first-name="user.firstName" v-model:last-name="user.lastName" />

Here the child component defines props for both values and corresponding update events using the update: prefix convention. The parent component uses named v-models with v-model:first-name and v-model:last-name syntax to bind different data properties. Vue automatically handles the two-way synchronization when the child emits the update events.

Best Practice Note:

This is the same multiple binding pattern we use in CoreUI Vue components for complex form controls and data inputs. Always use descriptive names for your v-model bindings and ensure prop names match the emit event suffixes for Vue’s automatic v-model handling to work correctly.


Speed up your responsive apps and websites with fully-featured, ready-to-use open-source admin panel templates—free to use and built for efficiency.


About the Author

Subscribe to our newsletter
Get early information about new products, product updates and blog posts.
JavaScript Template Literals: Complete Developer Guide
JavaScript Template Literals: Complete Developer Guide

How to Center a Button in CSS
How to Center a Button in CSS

How to Get Unique Values from a JavaScript Array
How to Get Unique Values from a JavaScript Array

How to concatenate a strings in JavaScript?
How to concatenate a strings in JavaScript?

Answers by CoreUI Core Team