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:

**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