vbind Directive in Vue.js (original) (raw)
Last Updated : 07 Aug, 2024
The **v-bind directive is a **Vuejs directive used to bind one or more attributes, or a component prop to an element. If that attribute is bound to our data defined in Vuejs instance then dynamic changes can be observed as data changes. First, we will create a div element with id as _app, and let’s apply the _v-bind directive to an element. Further, we can use a button to execute a function when a click even occurs which will inverse the value of data.
**Syntax:
v-bind:attribute="expression";
Since developers use this attribute too often, Vuejs provides a shorthand for this attribute as follows:
:attribute="expression";
Things we can do with **v-bind:
- Multiple classes can be passed.
- Classes can be passed as arrays.
- Supports variables to be assigned as a condition for classes and props.
- Supports variable as arrays also.
- It can be used in child components also.
- Inline styles can also be assigned using **v-bind.
**Parameters: This directive accepts expression which will be deciding which attribute value to use.
**Example: This example uses Vuejs to toggle the classes of an element with v-bind. Further, we will use CSS to apply a different color to each class so that we can see them changing.
HTML `
<!-- Load Vuejs -->
<script src=
"" title="undefined" rel="noopener noreferrer">https://cdn.jsdelivr.net/npm/vue/dist/vue.js">
<style>
.active {
color: blue;
}
.error {
color: red;
}
</style>
GeeksforGeeks
VueJS | v-bind directive<div id="canvas" style=
"border:1px solid #000000;
width: 600px;height: 200px;">
<div id="app" style=
"text-align: center;
padding-top: 40px;">
<button v-on:click=
"ifActive = !ifActive">
Click to Toggle
</button>
// here we have used the : short hand of v-bind:
<h1 :class=
"{active: ifActive, error: !ifActive}">
GeeksforGeeks
</h1>
</div>
</div>
<script>
var app = new Vue({
el: '#app',
data: {
ifActive: true
}
})
</script>
`
**Output:
https://media.geeksforgeeks.org/wp-content/uploads/20240806122739/chrome-capture-4.mp4