Open In App

Vue.js Click Event

Last Updated : 16 Feb, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Vue.js is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and supporting libraries.

The v-on directive is used to let users interact with the application. It can be attached to the event listeners that invoke methods on Vue instances. This allows any required function to be invoked when the click event occurs. 

Example 1:

  • Filename- index.html:

    HTML




    <html>
    <head>
        <script src=
      </script>
    </head>
    <body>
        <div id='parent'>
            <h2>Counter - {{counter}}</h2>
            <button v-on:click='increment'>
              Increment
              </button>
            <button v-on:click='decrement'>
              Decrement
              </button>
        </div>
        <script src='app.js'>
      </script>
    </body>
    </html>

    
    

  • Filename- app.js:

    Javascript




    const parent = new Vue({
        el : '#parent',
        data : {
            counter : 0
        },
        methods: {
           increment : function(){
               this.counter += 1
           },
           decrement : function(){
               this.counter -= 1
           }
        }
    })

    
    

Output:

Example 2:

  • Filename- index.html:

    HTML




    <html>
    <head>
        <script src=
          </script>
    </head>
    <body>
        <div id='parent'>
            <div id='box' 
                 style='height:200px; 
                        width:200px; 
                        background-color:black;'>
              </div>
            <button v-on:click="changeColor">
              Change Color
              </button>
        </div>
        <script src='app.js'></script>
    </body>
    </html>

    
    

  • Filename- app.js:

    Javascript




    const parent = new Vue({
        el : '#parent',
        methods: {
            changeColor: function () {
                const box =
                  document.querySelector('#box')
                const red =
                  Math.floor(Math.random() * 256 + 1)
                const green =
                  Math.floor(Math.random() * 256 + 1)
                const blue =
                  Math.floor(Math.random() * 256 + 1)
      
                box.style.background =
                  "rgb("+red+", "+green+", "+blue+ ")"
            }
          }
    })

    
    

Output:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads