当前位置: 首页 > news >正文

Vue中@click的常见修饰符

在 Vue 的@click事件中,可以使用以下修饰符:

  1. .stop:阻止事件继续传播。
  2. .prevent:阻止默认事件。
  3. .capture:使用事件捕获模式。
  4. .self:只当事件是从侦听器绑定的元素本身触发时才触发回调。
  5. .once:只触发一次回调。
  6. .passive:告诉浏览器该事件无需阻止默认行为,可以提高页面的滚动性能。

例如,在模板中,我们可以这样使用@click.stop修饰符:

<button @click.stop="onClick">Click Me</button>

这将阻止该事件向父级传播,确保只有该按钮的点击事件被触发。

  1. .stop:阻止事件继续传播
<div @click="handleClick"><button @click.stop="handleButtonClick">Button</button>
</div>

上面的代码中,当我们点击按钮时,事件不会继续传播到包含该元素的 div 上,也就是说不会触发 handleClick 方法。

  1. .prevent:阻止默认的行为
<form @submit.prevent="handleFormSubmit"><button type="submit">Submit</button>
</form>

上面的代码中,我们使用 @submit.prevent 修饰符阻止了表单的默认提交行为,而是执行了 handleFormSubmit 方法。

  1. .capture:捕获模式下触发
<div @click.capture="handleContainerClick"><button @click="handleButtonClick">Button</button>
</div>

使用 @click.capture 修饰符可以将事件处理程序添加到捕获模式下,这意味着在目标元素之前处理该事件。在上面的代码片段中,当我们点击按钮时,会先触发 handleContainerClick 方法,再触发 handleButtonClick 方法。

  1. .self:只在事件的目标元素本身触发时才触发回调函数
<div @click="handleClick"><button @click.self="handleButtonClick">Button</button>
</div>

使用 @click.self 修饰符可以确保只有在按钮本身被点击时才会触发 handleButtonClick 方法,不会影响到包含按钮的 div 元素。

  1. .once:只会触发一次回调函数
<button @click.once="handleButtonClick">Button</button>

使用 @click.once 修饰符可以确保只有首次点击按钮时才会触发 handleButtonClick 方法,而后续的点击都不会再次触发。

  1. .passive:不会阻止默认事件,但是可以提高性能
<div @touchmove.passive="handleTouchMove"><!-- ... -->
</div>

通过使用 @touchmove.passive 修饰符,Vue 可以告诉浏览器该事件不需要阻止默认行为,从而提高页面的滚动性能。

总之,在 Vue 的@click事件中,使用这些修饰符可以帮助我们更好地控制事件的行为和动作,提高交互体验,并且让开发变得更加高效。

http://www.lryc.cn/news/56464.html

相关文章:

  • 软件测试面试复盘:技术面没有难倒我,hr面被虐的体无完肤
  • vue实现鼠标移入移出事件+解决鼠标事件没有反应
  • 右键移动文件.cmd
  • web基础
  • 牛客网算法八股刷题系列(七)正则化(软间隔SVM再回首)
  • 开源即时通讯IM框架MobileIMSDK的微信小程序端开发快速入门
  • 【C++从0到1】11、C++中赋值运算
  • GaussDB数据库事务介绍
  • MYSQL——美团面试题
  • Python 小型项目大全 16~20
  • UE4/5C++之SubSystem的了解与创建
  • 牛客网在线编程SQL篇非技术快速入门题解(二)
  • 航天器轨道六要素和TLE两行轨道数据格式
  • 【Spring Cloud Alibaba】第01节 - 课程介绍
  • iOS和Android手机浏览器链接打开app store或应用市场下载软件讲解
  • 2023第十四届蓝桥杯省赛java B组
  • windows下如何快速搜索文件内容
  • Redis集群分片
  • ISP-AF相关-聚焦区域选择-清晰度评价-1(待补充)
  • [element-ui] el-table行添加阴影悬浮效果
  • 分布式存储技术(上):HDFS 与 Ceph的架构原理、特性、优缺点解析
  • 【python设计模式】20、解释器模式
  • 【PostgreSQL】通过docker的方式运行部署PostgreSQL与go操作数据库
  • Kotlin协程序列:
  • java获取视频时长
  • EDAS投稿系统的遇到的问题及解决办法
  • t-learning 产品经理课程笔记
  • 校招,从准备开始准备(持续更新ing...)
  • Android:使用LayerDrawable动态生成四宫格头像(包含双人、三人头像)
  • Android Jetpack 从使用到源码深耕【数据库注解Room 从实践到原理 】(三)