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.mzph.cn/web/2191.shtml

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

相关文章

Nest 快速上手 —— (一)nest介绍与启动安装

参考资料&#xff1a;https://docs.nestjs.com/ 0.介绍 Nest (NestJS)是一个用于构建高效、可扩展的Node.js服务器端应用程序的框架。它使用渐进式JavaScript&#xff0c;构建并完全支持TypeScript(但仍然允许开发人员使用纯JavaScript编写代码)&#xff0c;并结合了OOP(面向对…

HCIP【路由过滤、路由引入实验】

目录 实验要求&#xff1a; 实验拓扑图&#xff1a; 实验思路&#xff1a; 实验步骤&#xff1a; 一、配IP地址 二、在相应的设备上配置RIP协议和OSPF协议 三、路由引入 四、路由过滤 五、配置静默接口 实验要求&#xff1a; 1、按照图示配置 IP 地址&#xff0c;R1&a…

网络靶场实战-Qiling Fuzz实例分析

背景 在上一小节中&#xff0c;介绍了qiling框架的背景和基础使用&#xff0c;并以相关的CTF和qilinglab实例进行练习加深对qiling框架的使用&#xff0c;后续并简单介绍了qiling fuzz的功能。 在这一小节&#xff0c;我们将对qiling fuzz iot设备进行测试以及以实例的方式对…

FineReport报表问题- SET LOGSIZE FAILED 解决

1.问题描述 Oops!!!非常抱歉&#xff0c;您当前无法访问此页。 发生的问题是&#xff1a;CREATE EMB-DB: SET LOGSIZE FAILED! 详细信息 java.lang.RuntimeException: CREATE EMB-DB: SET LOGSIZE FAILED!<br> at com.fr.data.core.db.DBUtils.getEmbeddedDB(Unknown So…

C++ 面向对象-封装

C 是一种多范式编程语言&#xff0c;它支持面向对象编程&#xff08;OOP&#xff09;范式。面向对象编程是一种程序设计思想&#xff0c;其中程序由对象组成&#xff0c;每个对象都是一个实例&#xff0c;具有数据和相关操作。在C中&#xff0c;实现面向对象编程主要通过类和对…

蓝桥杯2022年第十三届决赛真题-卡牌

贪心&#xff1a;循环m次&#xff0c;首先每次取卡片数最少的种类&#xff0c;判断它是否有补充机会&#xff0c;如果没有补充机会&#xff0c;根据短板效应&#xff0c;它的数量就是套牌数&#xff0c;结束。如果可以补充&#xff0c;就将它的数目增加1&#xff0c;m的数量减少…

ubuntu22.04搭建dns内网

近期&#xff0c;需要在无网络的ubuntu环境下搭建内部可用的dns内网&#xff0c;总共花费3个工作日晚上&#xff0c;总算成功搭建&#xff0c;做个记录&#xff0c;记录踩坑记录&#xff0c;同时方便以后翻阅。 安装软件包&#xff1a; 有网络环境下&#xff0c;比较简单&…

一个java项目中,如何使用sse协议,构造一个chatgpt的流式对话接口

前言 如何注册chatGPT&#xff0c;怎么和它交互&#xff0c;本文就不讲了&#xff1b;因为网上教程一大堆&#xff0c;而且你要使用的话&#xff0c;通常会再包一个算法服务&#xff0c;用来做一些数据训练和过滤处理之类的&#xff0c;业务服务基本不会直接与原生chatGPT交互。…

[Android]Jetpack Compose自定义主题

1.ColorScheme ColorScheme 是 Jetpack Compose 中的一个类&#xff0c;用于定义一组颜色&#xff0c;这些颜色共同构成了应用程序的颜色主题。在 Material Design 系统中&#xff0c;颜色方案帮助确保应用程序具有一致的视觉外观&#xff0c;同时也支持色彩的可访问性和美观性…

Lambda 禁止直接从公网访问

为了禁止 Lambda 直接从公网访问&#xff0c;您可以执行以下步骤&#xff1a; 更新 Lambda 函数的策略&#xff1a; 登录 AWS 控制台&#xff0c;导航至 Lambda 服务。找到需要修改的 Lambda 函数&#xff0c;并进入其配置页面。在函数配置页面&#xff0c;找到与 Lambda 函数…

7-17 KMP模式匹配算法

给定主串s和模式串p&#xff0c;编写程序使用KMP算法进行模式匹配&#xff0c;计算p在s中出现的首位置&#xff0c;若p不在s中则输出−1。字符串下标从0开始。 输入格式: 输入为2行&#xff0c;第1行为主串s&#xff0c;第2行为模式串p。主串和模式串长度不超过105。 输出格…

MVC4自带的JS、CSS优化功能

方法: Application_Start事件中 或 类 BundleConfig中的RegisterBundles方法中 加入代码: BundleTable.EnableOptimizations true;//是否启用优化 说明: 所说的JS、CSS优化&#xff1a; 缓存&#xff1a;首次访问站点&#xff0c;JS和CSS文件会下载到浏览器缓存中&#…

OpenCV-基于阴影勾勒的图纸清晰度增强算法

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 实现原理 大家在工作和学习中&#xff0c;无论是写报告还是论文&#xff0c;经常有截图的需求&#xff0c;比如图表、图纸等&…

使用 Docker 部署 TailChat 开源即时通讯平台

1&#xff09;介绍 TailChat 官网&#xff1a; https://tailchat.msgbyte.com/ 作者&#xff1a;https://www.moonrailgun.com/about/ GitHub &#xff1a; https://github.com/msgbyte/tailchat TailChat 是一款插件化易拓展的开源 IM 应用。可拓展架构赋予 Tailchat 无限可能…

【前端】vue的基础知识及开发指引

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Vue是什么二、学习 Vue.js 的基础知识三、熟悉 Vue.js 的生态系统四、掌握常用工具和库五、实践和项目开发六、 持续学习和跟进 前言 随着开发语言及人工智…

在不能升级版本的情况下,解决k8s证书到期且续约只有1年的问题

更新证书需要重启服务才能生效&#xff08;证书已经过期和还未过期都要重启才能生效&#xff09;&#xff0c;重启会对业务产生影响&#xff0c;请申请时间窗口进行处理 注意该工具只适用于k8s版本v1.18.5、请按照服务器架构选择对应的版本 相关说明&#xff1a; 证书到期后…

目标检测YOLO实战应用案例100讲-基于多尺度特征融合的水下小目标检测方法研究(下)

目录 2.4 基于两阶段的Faster R-CNN目标检测算法 2.5 目标检测数据集和评价标准

使用Docker搭建本地Nexus私有仓库

0-1开始Java语言编程之路 一、Ubuntu下Java语言环境搭建 二、Ubuntu下Docker环境安装 三、使用Docker搭建本地Nexus Maven私有仓库 四、Ubuntu下使用VisualStudioCode进行Java开发 你需要Nexus Java应用编译构建的一种主流方式就是通过Maven, Maven可以很方便的管理Java应用的…

全国832个贫困县名单及精准扶贫脱贫(摘帽名单)数据(2016-2020.11)

01、数据简介 自党的十八大以来&#xff0c;我国脱贫攻坚战取得了举世瞩目的伟大胜利。经过全党全国各族人民的共同努力&#xff0c;现行标准下9899万农村贫困人口全部脱贫&#xff0c;832个贫困县全部摘帽&#xff0c;12.8万个贫困村全部出列&#xff0c;区域性整体贫困得到解…

金融风控信用评分卡建模(Kaggle give me credit数据集)

1 数据预处理数据 数据来源于Kaggle的Give Me Some Credit&#xff0c;包括25万条个人财务情况的样本数据 1.1 导包读数据 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.ensemble import RandomForestRegressor import seaborn as …