当前位置:首页 > VUE

vue.once实现

2026-03-09 11:43:18VUE

Vue 的 .once 事件修饰符

在 Vue 中,.once 是一个事件修饰符,用于确保事件只触发一次。它可以直接在模板中的事件绑定上使用,无需手动移除事件监听器。

基本用法

<button @click.once="handleClick">点击我(仅触发一次)</button>

当按钮第一次被点击时,handleClick 方法会被调用,之后再次点击不会触发该方法。

实现原理

Vue 内部通过原生 addEventListeneronce 选项或手动移除监听器实现。以下是类似功能的原生 JavaScript 实现:

vue.once实现

element.addEventListener('click', function handler() {
  // 执行逻辑
  element.removeEventListener('click', handler);
}, { once: true });

适用场景

  • 表单提交防止重复提交
  • 一次性引导提示
  • 初始化操作只需执行一次

注意事项

  • 只能用于原生 DOM 事件或自定义事件
  • 对于组件事件,需要在组件内部使用 $emit 触发
  • 不能与其他修饰符冲突(如 .prevent.once 是合法的)

标签: vueonce
分享给朋友:

相关文章

vue 实现复选

vue 实现复选

Vue 实现复选功能 在 Vue 中实现复选功能可以通过多种方式完成,以下是常见的几种方法: 使用 v-model 绑定数组 通过 v-model 绑定一个数组,可以自动收集用户选择的复选框值。…

computed vue 实现

computed vue 实现

computed 在 Vue 中的基本用法 Vue 的 computed 属性用于声明依赖于其他数据的计算属性。当依赖的数据变化时,计算属性会自动重新计算并缓存结果。 export defaul…

vue筛选实现

vue筛选实现

Vue 筛选实现方法 使用计算属性实现筛选 计算属性是 Vue 中实现数据筛选的常用方式。通过定义一个计算属性,可以根据输入的条件动态过滤数据。 <template> <div…

vue实现购票

vue实现购票

Vue 实现购票功能 数据结构设计 购票功能通常需要以下数据结构: 场次信息(时间、地点、价格) 座位信息(可选座位、已售座位) 用户订单信息 示例数据结构: data() { return…

vue  实现关联属性

vue 实现关联属性

Vue 实现关联属性 在 Vue 中实现关联属性通常涉及计算属性(computed properties)或侦听器(watchers),用于根据其他属性的变化动态更新目标属性。 使用计算属性 计算属…

vue实现页面定位

vue实现页面定位

Vue 实现页面定位的方法 在 Vue 中实现页面定位通常可以通过以下几种方式完成,包括使用原生 JavaScript 的 scrollIntoView 方法、Vue Router 的滚动行为配置,以…