Table of Contents
1. Basic usage of v-on
2. Processing method of listening events
3. Pass parameters
4. Modifiers
4.1 Preventing event bubbling
4.2 Prevent default behavior
4.3 Key modifier
Home Web Front-end Vue.js How to use v-on to listen for events in Vue

How to use v-on to listen for events in Vue

Jun 11, 2023 pm 02:00 PM
vue event listening v-on

Vue is a popular JavaScript framework that has become a very popular choice for many developers. It uses a responsive system and componentization to allow developers to quickly create interactive front-end applications. Among them, the v-on instruction is a very useful tool, which allows developers to easily monitor various events in Vue applications. This article will introduce how to use v-on to listen for events in Vue.

1. Basic usage of v-on

The v-on command is actually an abbreviation for event binding. It can monitor DOM events, such as clicks, mouse hovers, and keyboards. Press and so on. The following is the basic usage of v-on, taking monitoring click events as an example:

<button v-on:click="handler">Click me</button>
Copy after login

In the above code, we use the v-on instruction to listen for click events and bind the event to a handler method. When the user clicks the button, the handler method is triggered.

You can also use the following abbreviation:

<button @click="handler">Click me</button>
Copy after login

This is the abbreviation of the v-on instruction, and the effect is exactly the same as the above code.

2. Processing method of listening events

Generally, we need to manually define a method in the Vue instance to handle the event. The name of the method can be customized, and we can write processing functions in the method.

<template>
  <button v-on:click="handleClick">Click me</button>
</template>

<script>
export default {
  methods: {
    handleClick: function (event) {
      // 处理点击事件
    }
  }
}
</script>
Copy after login

In the above code, we defined a handleClick method in the Vue component to handle click events. When the user clicks the button, this method will be triggered, and the event object event will be passed into the method as the only parameter. In the method, we can get some information about the event through the event object.

3. Pass parameters

If we need to pass additional parameters to the processing function, we can use the special syntax of the v-on instruction.

<template>
  <button v-on:click="handleClick('参数1', '参数2')">Click me</button>
</template>

<script>
export default {
  methods: {
    handleClick: function (arg1, arg2) {
      // 处理点击事件,并使用arg1和arg2
    }
  }
}
</script>
Copy after login

In the above code, we passed in two parameters in the instruction, and these two parameters will be passed to the arg1 and arg2 parameters in the handleClick function. Note that if we need to use dynamic parameters, we need to use square bracket syntax.

4. Modifiers

In addition to basic usage and passing parameters, the v-on directive also provides some modifiers to enhance event processing capabilities.

4.1 Preventing event bubbling

In Vue, events can bubble up along the component tree until they reach the root component. If we need to prevent the event from bubbling, we can call the stopPropagation() method of the Event object in the event handling method.

<template>
  <div v-on:click="outer">
    <div v-on:click="inner">
      Click me
    </div>
  </div>
</template>

<script>
export default {
  methods: {
    inner: function (event) {
      event.stopPropagation()
    },
    outer: function () {
      console.log('outer')
    }
  }
}
</script>
Copy after login

In the above code, we called the stopPropagation() method in the click event of the subcomponent, thus preventing the event from bubbling. If we do not call this method, the click event will trigger the handler functions in the child component and parent component in turn.

4.2 Prevent default behavior

In Vue, the event handling function can also call the preventDefault() method of the Event object to prevent the browser's default behavior. For example, we can prevent form submission or link redirection.

<template>
  <form v-on:submit.prevent="submit">
    ...
  </form>
  <a href="https://www.google.com" v-on:click.prevent>Google</a>
</template>

<script>
export default {
  methods: {
    submit: function () {
      // 阻止表单的提交行为
    }
  }
}
</script>
Copy after login

In the above code, we use the prevent modifier in the form's submission event, thereby preventing the form's default submission behavior. In the link's click event, we also use the prevent modifier to prevent the link from jumping.

4.3 Key modifier

In Vue, events can be used in conjunction with keystrokes. If we only want to trigger an event when a specific key is pressed, we can use key modifiers.

<template>
  <input v-on:keyup.enter="submit">
</template>

<script>
export default {
  methods: {
    submit: function () {
      // 处理键盘的回车事件
    }
  }
}
</script>
Copy after login

In the above code, we can use the .enter modifier in the keyup event so that the event handler is only triggered when the Enter key is pressed.

In summary, the v-on instruction is a very useful instruction, which can help us monitor various events very conveniently in Vue applications. When using the v-on instruction, we need to pay attention to basic usage, passing parameters, modifiers, etc., so that we can better use this instruction.

The above is the detailed content of How to use v-on to listen for events in Vue. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1663
14
PHP Tutorial
1263
29
C# Tutorial
1237
24
How to use bootstrap in vue How to use bootstrap in vue Apr 07, 2025 pm 11:33 PM

Using Bootstrap in Vue.js is divided into five steps: Install Bootstrap. Import Bootstrap in main.js. Use the Bootstrap component directly in the template. Optional: Custom style. Optional: Use plug-ins.

How to add functions to buttons for vue How to add functions to buttons for vue Apr 08, 2025 am 08:51 AM

You can add a function to the Vue button by binding the button in the HTML template to a method. Define the method and write function logic in the Vue instance.

How to use watch in vue How to use watch in vue Apr 07, 2025 pm 11:36 PM

The watch option in Vue.js allows developers to listen for changes in specific data. When the data changes, watch triggers a callback function to perform update views or other tasks. Its configuration options include immediate, which specifies whether to execute a callback immediately, and deep, which specifies whether to recursively listen to changes to objects or arrays.

What does vue multi-page development mean? What does vue multi-page development mean? Apr 07, 2025 pm 11:57 PM

Vue multi-page development is a way to build applications using the Vue.js framework, where the application is divided into separate pages: Code Maintenance: Splitting the application into multiple pages can make the code easier to manage and maintain. Modularity: Each page can be used as a separate module for easy reuse and replacement. Simple routing: Navigation between pages can be managed through simple routing configuration. SEO Optimization: Each page has its own URL, which helps SEO.

How to return to previous page by vue How to return to previous page by vue Apr 07, 2025 pm 11:30 PM

Vue.js has four methods to return to the previous page: $router.go(-1)$router.back() uses &lt;router-link to=&quot;/&quot; component window.history.back(), and the method selection depends on the scene.

React vs. Vue: Which Framework Does Netflix Use? React vs. Vue: Which Framework Does Netflix Use? Apr 14, 2025 am 12:19 AM

Netflixusesacustomframeworkcalled"Gibbon"builtonReact,notReactorVuedirectly.1)TeamExperience:Choosebasedonfamiliarity.2)ProjectComplexity:Vueforsimplerprojects,Reactforcomplexones.3)CustomizationNeeds:Reactoffersmoreflexibility.4)Ecosystema

How to use vue traversal How to use vue traversal Apr 07, 2025 pm 11:48 PM

There are three common methods for Vue.js to traverse arrays and objects: the v-for directive is used to traverse each element and render templates; the v-bind directive can be used with v-for to dynamically set attribute values ​​for each element; and the .map method can convert array elements into new arrays.

How to reference js file with vue.js How to reference js file with vue.js Apr 07, 2025 pm 11:27 PM

There are three ways to refer to JS files in Vue.js: directly specify the path using the &lt;script&gt; tag;; dynamic import using the mounted() lifecycle hook; and importing through the Vuex state management library.

See all articles