DOM events and v-on
We can handle DOM events within Vue by using v-on. By listening to DOM events, we're able to react to user input with everything from key-down events (such as clicking the Enter button) to button click events and more.
Let's make a playground project to try this in our own project:
# Create a new Vue project $ vue init webpack-simple vue-on # Navigate to directory $ cd vue-on # Install dependencies $ npm install # Run application $ npm run dev
Let's imagine an input box such that, when we either hit the Add button or hit the Enter key, the input gets added to an array:
<template>
 <div id="app">
  <ul>
   <li v-for="(p, index) in person" :key="index">
    {{p}}
   </li>
  </ul>
  <input type="text" v-model="person" v-on:keyup.enter="addPerson" />
  <button v-on:click="addPerson">Add {{ person}} </button>
 </div>
</template>
<script>
export default {
 name: 'app',
 data () {
  return {
   person: ... 
                                             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
     
         
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                