…">
当前位置:首页 > VUE

vue实现事件绑定的是

2026-03-27 04:56:21VUE

Vue 事件绑定的实现方式

Vue 使用 v-on 指令或简写 @ 来实现事件绑定。以下是常见用法和示例:

基本语法

<button v-on:click="handleClick">点击</button>
<!-- 简写形式 -->
<button @click="handleClick">点击</button>

方法定义 在 Vue 组件的 methods 选项中定义事件处理函数:

methods: {
  handleClick(event) {
    console.log('按钮被点击', event);
  }
}

传递参数

可以在绑定事件时传递自定义参数:

<button @click="handleClick('参数', $event)">传递参数</button>

对应的方法:

methods: {
  handleClick(arg, event) {
    console.log(arg, event);
  }
}

事件修饰符

Vue 提供了一些常用的事件修饰符:

  • .stop:阻止事件冒泡
  • .prevent:阻止默认行为
  • .capture:使用捕获模式
  • .self:仅当事件从元素本身触发时触发
  • .once:只触发一次
  • .passive:提升滚动性能

示例:

vue实现事件绑定的是

<form @submit.prevent="onSubmit">阻止表单默认提交</form>
<a @click.stop="doThis">阻止点击事件冒泡</a>

按键修饰符

可以直接监听特定按键事件:

<input @keyup.enter="submit" placeholder="按回车提交">

常用按键别名:

  • .enter
  • .tab
  • .delete
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

系统修饰键

可以组合使用系统修饰键:

<input @keyup.ctrl.enter="submit" placeholder="Ctrl+Enter提交">

鼠标按钮修饰符

监听特定鼠标按钮:

vue实现事件绑定的是

<div @click.right="rightClick">右键点击</div>

自定义事件

子组件可以通过 $emit 触发自定义事件:

this.$emit('custom-event', payload);

父组件监听:

<child-component @custom-event="handleCustomEvent"></child-component>

事件总线(Event Bus)

对于非父子组件通信,可以使用事件总线:

// 创建事件总线
const EventBus = new Vue();

// 发送事件
EventBus.$emit('event-name', data);

// 接收事件
EventBus.$on('event-name', (data) => {
  // 处理事件
});

原生事件绑定

在组件上绑定原生 DOM 事件需要使用 .native 修饰符:

<my-component @click.native="handleClick"></my-component>

Vue 的事件绑定系统提供了灵活的方式来处理用户交互,从简单的点击事件到复杂的自定义事件系统,都能优雅地实现。

标签: 的是绑定
分享给朋友:

相关文章

vue 双向绑定实现

vue 双向绑定实现

Vue 双向绑定的实现原理 Vue 的双向绑定主要通过数据劫持结合发布者-订阅者模式实现,核心是 Object.defineProperty(Vue 2.x)或 Proxy(Vue 3.x)。 数据…

vue实现数组绑定

vue实现数组绑定

Vue 数组绑定的实现方法 Vue 提供了多种方式实现数组的响应式绑定,确保数据变化时视图自动更新。以下是常见的实现方法: 使用 v-for 指令渲染数组 通过 v-for 指令可以遍历数组并渲染…

vue双向绑定实现

vue双向绑定实现

Vue 双向绑定实现原理 Vue 的双向绑定主要通过 v-model 指令实现,其核心是结合数据劫持(Object.defineProperty 或 Proxy)和发布-订阅模式。 数据劫持 Vue…

实现vue数组双向绑定

实现vue数组双向绑定

Vue 数组双向绑定的实现方法 Vue 通过数据劫持和发布-订阅模式实现数据的双向绑定,但直接修改数组的某些方法(如索引赋值)无法触发视图更新。以下是实现数组双向绑定的几种方法: 使用 Vue.se…

vue双向数据绑定实现

vue双向数据绑定实现

双向数据绑定的概念 双向数据绑定是指视图(View)与模型(Model)之间的双向同步。当数据发生变化时,视图自动更新;当用户操作视图时,数据也会自动更新。Vue 通过 v-model 指令实现双向数…

vue 双向绑定 实现原理

vue 双向绑定 实现原理

Vue 双向绑定的实现原理 Vue 的双向绑定是通过数据劫持结合发布者-订阅者模式实现的,核心是 Object.defineProperty(Vue 2.x)或 Proxy(Vue 3.x)。以下是具…