Skip to content
Related Articles

Related Articles

Improve Article

v-bind Directive in Vue.js

  • Last Updated : 05 Jul, 2020

The v-bind directive is a Vue.js directive used to bind one or more attributes, or a component prop to an element. If that attribute is bonded to our data defined in Vue 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";

Parameters: This directive accepts expression which will be deciding which attribute value to use.

Example: This example uses Vue.js 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>
              
            <h1 v-bind:class=
                "{active: ifActive, error: !ifActive}">
                GeeksforGeeks
            </h1>
        </div>
    </div>
  
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                ifActive: true
            }
        })
    </script>
</body>
  
</html>                   

Output:




My Personal Notes arrow_drop_up
Recommended Articles
Page :