Vue之v-on事件修饰符的含义及使用

背景:Vue 拆封了一个组件,在组件里面会使用一个方法来改变父组件传过来的值,

但是在子组件里面操作父组件的数据变更,实在比较麻烦(因为单向数据流),

So 能不能直接在组件上面绑定事件方法呢,因此就在封装的组件上面写了 :@click="getDataList"

    <DefaultCompv-if="dataList.length > 0":dataList="dataList"@click="getDataList"/>

但是绑定的 click 方法会不生效,So 要想解决,就需要用到

v-on 事件修饰符 的 .native 了 , 接下来就来讲解一下各修饰符的含义及使用。


Vue 中绑定事件 v-on:事件类型="方法" ,v-on 简写 @


v-on 事件修饰符

<!-- v-on  指令的修饰符 :.stop  阻止事件冒泡.capture  事件进行捕获.prevent  阻止默认事件.once  事件只会执行一次.self  事件之作用给标签本身
-->
.native   侦听组件根元素上的原生事件
  • 事件修饰符

  用来处理事件的特定行为

  • 1、<!-- 阻止冒泡 .stop -->

  <button @click.stop = "doThis"></button>

只知作用为:阻止事件冒泡,不知其具体如何使用。

下面来举个栗子:就是外层大的 Div 盒子本身有绑定了一个 click 点击事件,

但是如果内层有一个小的 div 盒子也绑定了一个 click 点击事件的话,

点击小盒子 div 时,会同时触发 大、小盒子身上的两个事件,容易造成交互紊乱。

所以此时就需要在小盒子 div 的事件上添加一个 .stop 修饰符来阻止 大盒子 的事件触发,

让只点击小盒子的 click 事件单独触发,而不触发大盒子身上的点击事件。

<template><div @click="bigClickEvent"><!-- 内层小盒子div需要加.stop来阻止事件冒泡以免大、小盒子的事件同时触发 --><div @click.stop="smallClickEvent"></div></div>
</template>

  • 2、<!-- 阻止默认行为 .prevent -->

  <a @click.prevent = "doThis"></a>

  • 3、<!-- 只执行一次 .once -->

  <div @click.once = "incr( )">自增一下</div>

  • 4、<!-- 绑定的元素本身触发时才触发回调 .self -->

  <ul @click.self = "incr( )">

    <li>你好世界</li>

  </ul>

  • <!--  串联修饰符 -->

  <button @click.stop.prevent = "doThis"></button>


@click.native中 .native 的含义与使用

当你给一个 vue 组件绑定事件的时候,要加上 native ,

如果是普通的 html 元素,就不需要

<template><div id="app"><ButtonComp @click.native = 'goToNext'>点击跳转</ButtonComp></div>
</template><script>
import ButtonComp from '../components/ButtonComp'export default{components:{ ButtonComp },methods: {goToNext() {console.log('Go to next');},},
}
</script>

So,在 组件上 加上 .native 修饰符 就可以使用 methods 内绑定的对应方法了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/630533.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HiveSql中的函数家族(二)

一、窗口函数 1、什么是窗口函数 在 SQL 中&#xff0c;窗口函数&#xff08;Window Functions&#xff09;是一种特殊的函数&#xff0c;它允许在查询结果集的特定窗口&#xff08;通常是一组行&#xff09;上执行聚合、分析和计算操作&#xff0c;而无需聚合整个结果集。窗口…

HTML重要标签梳理学习

1、HTML文件的框架 使用VS Code编码时&#xff0c;输入!选中第一个&#xff01;就可以快速生成一个HTML文件框架。 2、标签 <hr> <!--下划线--> <br> <!--换行--> <strong>加粗</strong> &…

【氮化镓】GaN HEMT失效物理和可靠性

概述: 本文是一篇关于AlGaN/GaN基高电子迁移率晶体管(HEMTs)的失效物理和可靠性研究的综述文章,发表在2013年10月的《IEEE Transactions on Electron Devices》上。文章由Enrico Zanoni等人撰写,主要关注了影响栅极边缘和肖特基结的失效机制,并探讨了提高这些器件可靠性…

SPI接口的74HC595驱动数码管实现

摸鱼记录 Day_17 (((^-^))) review 前边已经学习了&#xff1a; 数码管显示原理&#xff1a;数码管动态扫描显示-CSDN博客 且挖了个SPI的坑坑 1. 今日份摸鱼任务 学习循环移位寄存器18 串行移位寄存器原理详解_哔哩哔哩_bilibili 学习SPI接口的74HC595驱动数码管19 SPI…

JVM之垃圾回收机制

一、常量池的位置 方法区和永久代以及元空间是什么关系呢&#xff1f; 方法区和永久代以及元空间的关系很像 Java 中接口和类的关系&#xff0c;类实现了接口&#xff0c;这里的类就可以看作是永久代和元空间&#xff0c;接口可以看作是方法区&#xff0c;也就是说永久代以及元…

在mysql函数中启动事物和行锁/悲观锁实现并发条件下获得唯一流水号

业务场景 我有一个业务需求&#xff1a;我有一个报卡表 report里面有一个登记号字段 fcardno、地区代码 faddrno和发病年份 fyear&#xff0c;登记号由**“4位地区代码”“00”“发病年份”“5位流水号”**组成&#xff0c;我要在每次插入一张报卡&#xff08;每一行数据&#…

布局香港之零售中小企篇 | 传承之味,迈向数字化经营的时代

随着内地与香港两地经贸合作日渐紧密&#xff0c;越来越多内地消费品牌将目光投向香港这片充满机遇的热土&#xff0c;纷纷入驻香港市场。「北店南下」蔚然成风&#xff0c;其中不乏已在内地市场深耕多年的传统老字号。数字化经营时代&#xff0c;老字号焕新刻不容缓&#xff0…

系统服务控制

系统服务控制 格式&#xff1a;systemctl 控制类型 服务名称 控制类型 start:启动stop:停止restart:重新启动reload:重新加载status :查看服务状态 例&#xff1a; systemctl status firewalld //显示防火墙状态 systemctl stop firewalld.service //关闭防火墙…

Linux驱动开发——(二)pinctrl和gpio子系统

目录 一、简介 二、修改设备树 2.1 添加pinctrl节点 2.2 添加LED设备节点 2.3 检查PIN是否被其他外设使用 三、驱动代码 四、平台实验测试 一、简介 pinctrl子系统简单来说就是用来配置PIN的复用和电气属性。 对于使用者来讲&#xff0c;只需要在设备树里面设置好某个p…

【电路笔记】-数字逻辑门总结

数字逻辑门总结 文章目录 数字逻辑门总结1、概述2、逻辑门真值表3、总结 数字逻辑门有三种基本类型&#xff1a;与门、或门和非门。 1、概述 我们还看到&#xff0c;数字逻辑门具有与其相反或互补的形式&#xff0c;分别为“与非门”、“或非门”和“缓冲器”&#xff0c;并且…

android 创建module

文章目的&#xff1a; 快速创建module并使用 创建步骤&#xff1a; 1 创建module 2 修改module下的build.gradle文件 3 修改清单文件中MainActivity属性&#xff0c;否则APP会因为有多个启动界面而崩溃 4 在主项目build.gradle引用该object Module 至此&#xff0c;可在APP中…

MTK MFNR 学习笔记

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、MFNR 简介二、MFNR 开关与决策三、MFNR 相关的adb 命令四、MFNR log 分析五 参考文献 一、MFNR 简介 MFNR : Multiple Frame Noise ReductionMFLL …