What is v-bind and v-on?

Pravin JadhavPravin Jadhav
2 min read

What is v-bind and v-on?

  • v-bind: This is used to bind data from your JavaScript to the HTML. For example, :value="text" means the input's value is connected to the text variable in your JavaScript.

  • v-on: This is used to listen to events (like typing in an input box). For example, @input="onInput" means when you type in the input box, the onInput function in your JavaScript will run.

Example with v-bind and v-on:

<input :value="text" @input="onInput">
function onInput(e) {
  text.value = e.target.value; // Update the `text` variable with what you type
}
  • Here, when you type in the input box, the onInput function updates the text variable with the new value.

What is v-model?

  • v-model: This is a shortcut (syntactic sugar) that combines v-bind and v-on. It automatically syncs the input's value with a variable in your JavaScript. You don’t need to write a separate function to update the variable.

Example with v-model:

<input v-model="text">
  • This does the same thing as the previous example but in a simpler way. When you type in the input box, the text variable is automatically updated.

Why use v-model?

  • It’s simpler and cleaner. You don’t need to write extra code to handle the input event. Vue takes care of it for you.

How to Refactor the Code:

  1. Replace :value="text" and @input="onInput" with v-model="text".

  2. Remove the onInput function because v-model handles it automatically.

Final Code:

<input v-model="text">
// No need for the `onInput` function anymore!

Now, when you type in the input box, the text variable will automatically update. Easy, right? 😊

0
Subscribe to my newsletter

Read articles from Pravin Jadhav directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Pravin Jadhav
Pravin Jadhav

Hi, My goal is to demystify DevOps, break down complex concepts into approachable lessons, and build a resource that not only tracks my progress but also helps others accelerate their own learning curves. Thank you for joining me on this journey—let's explore the future of development and operations together!