Open In App

v-bind Directive in Vue.js

Improve
Improve
Like Article
Like
Save
Share
Report

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 binded to our data defined in Vuejs instance then dynamically 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 a element. Further, we can use a button execute a function when 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




<!DOCTYPE html>
<html>
 
<head>
 
    <!-- Load Vuejs -->
    <script src=
    </script>
 
    <style>
        .active {
            color: blue;
        }
 
        .error {
            color: red;
        }
    </style>
</head>
 
<body>
    <div style="text-align: center;width: 600px;">
        <h1 style="color: green;">
            GeeksforGeeks
        </h1>
        <b>
            VueJS | v-bind directive
        </b>
    </div>
 
    <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>
</body>
 
</html>                  


Output:



Last Updated : 06 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads