Vue.js Click Event

16 Feb, 2021
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:HTMLHTML<html><head>    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">  </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- index.html:
HTML
<html><head>    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">  </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:JavascriptJavascriptconst parent = new Vue({    el : '#parent',    data : {        counter : 0    },    methods: {       increment : function(){           this.counter += 1       },       decrement : function(){           this.counter -= 1       }    }})
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:HTMLHTML<html><head>    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">      </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- index.html:
HTML
<html><head>    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">      </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:JavascriptJavascriptconst 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+ ")"        }      }})
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:
Vue.JS
JavaScript
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.