vue事假机制都有哪些
Vue 的事件机制主要包含以下几种类型和方式,可以分为组件内部事件、父子组件通信事件、原生 DOM 事件封装、修饰符增强等,下面详细分类介绍:
一、DOM 事件绑定(最基础的事件)
使用 v-on(或简写 @)指令绑定原生 DOM 事件。
<button @click="handleClick">点击我</button>
二、自定义事件(组件通信)
1. 子组件通过 $emit 向父组件传递事件
子组件中:
<template><button @click="$emit('custom-event', data)">发送事件</button>
</template>
父组件中:
<ChildComponent @custom-event="handleCustomEvent" />
2. 使用 v-model 进行双向绑定(语法糖)
Vue3 中可以绑定自定义 modelValue 和 update:modelValue:
子组件:
<template><input :value="modelValue" @input="$emit('update:modelValue', $event.target.value)" />
</template>
<script>
export default {props: ['modelValue']
}
</script>
父组件:
<ChildComponent v-model="inputValue" />
三、事件修饰符
Vue 为事件添加了很多修饰符,用于增强行为:
-
.stop:阻止事件冒泡 -
.prevent:阻止默认行为 -
.capture:使用事件捕获模式 -
.self:只有事件是从绑定元素本身触发才触发 -
.once:事件只触发一次 -
.passive:使用被动监听器,适合滚动性能优化
<button @click.stop.prevent="handleClick">点我</button>
四、键盘事件修饰符
<input @keyup.enter="submit" />
还支持 .esc, .tab, .delete, .arrow-up, .space 等等。
五、事件代理(原生方式)
在 Vue 中仍然可以使用事件代理:
<ul @click="handleListClick"><li v-for="item in list" :key="item.id" :data-id="item.id">{{ item.name }}</li>
</ul>
六、$on / $off / $emit(Vue2 中的全局事件总线)
Vue2 可以通过事件总线实现跨组件通信:
// event-bus.js
export const EventBus = new Vue();// 发送事件
EventBus.$emit('someEvent', data);// 接收事件
EventBus.$on('someEvent', data => { ... });// 移除事件
EventBus.$off('someEvent');
⚠️ Vue3 中已经废弃 $on / $off / $emit,推荐使用 mitt 或 emitter 等库替代。
七、Vue3 中的事件通信方式
Vue3 推荐使用以下方式进行事件通信:
-
defineEmits()(组合式 API) -
mitt第三方事件库 -
provide/inject -
Pinia或Vuex状态管理 -
emits选项配合defineProps
// 子组件
const emit = defineEmits(['save']);
emit('save', payload);
八、自定义指令事件
Vue 允许你通过自定义指令实现特殊事件处理逻辑:
app.directive('click-outside', {mounted(el, binding) {document.addEventListener('click', (e) => {if (!el.contains(e.target)) {binding.value(e)}});}
});
需要我帮你整理一个“Vue 事件机制脑图”或“快速参考表”吗?
相关文章:
vue事假机制都有哪些
Vue 的事件机制主要包含以下几种类型和方式,可以分为组件内部事件、父子组件通信事件、原生 DOM 事件封装、修饰符增强等,下面详细分类介绍: 一、DOM 事件绑定(最基础的事件) 使用 v-on(或简写 ࿰…...
WXJ196微机小电流接地选线装置使用简单方便无需维护
WXJ196微机小电流接地选线装置,能在系统发生单相接地时,准确、迅速地选出接地线路母 线。使用简单方便,无需维护,可根据用户需要将相关信息通过通信接口传给上级监控系统, 适用于无人值守变电站。 2 功能及特点 全新的…...
Java第四节:idea在debug模式夏改变变量的值
作者往期文章 Java第一节:debug如何调试程序(附带源代码)-CSDN博客 Java第二节:debug如何调试栈帧链(附带源代码)-CSDN博客 Java第三节:新手如何用idea创建java项目-CSDN博客 步骤一 在需要修改…...
instructor 实现 reranker 功能
目录 代码代码解释1. 导入和初始化2. Label 类定义3. RerankedResults 类4. 重排序函数 示例类似例子例子中的jinjia模板语法变量2. 控制结构条件语句循环语句 代码 import instructor from openai import OpenAI from pydantic import BaseModel, Field, field_validator, Va…...
门极驱动器DRV8353M设计(二)
目录 13.3.4.4 MOSFET VDS 感测 (SPI Only) 13.3.5 Gate Driver保护回路 13.3.5.1 VM 电源和 VDRAIN 欠压锁定 (UVLO) 13.3.5.2 VCP 电荷泵和 VGLS 稳压器欠压锁定 (GDUV) 13.3.5.3 MOSFET VDS过流保护 (VDS_OCP) 13.3.5.3.1 VDS Latched Shutdown (OCP_MODE 00b) 13.…...
学点概率论,打破认识误区
概率论是统计分析和机器学习的核心。掌握概率论对于理解和开发稳健的模型至关重要,因为数据科学家需要掌握概率论。本博客将带您了解概率论中的关键概念,从集合论的基础知识到高级贝叶斯推理,并提供详细的解释和实际示例。 目录 简介 基本集合…...
NVIDIA AI Aerial
NVIDIA AI Aerial 适用于无线研发的 NVIDIA AI Aerial 基础模组Aerial CUDA 加速 RANAerial Omniverse 数字孪生Aerial AI 无线电框架 用例构建商业 5G 网络加速 5G生成式 AI 和 5G 数据中心 加速 6G 研究基于云的工具 优势100% 软件定义通过部署在数字孪生中进行测试6G 标准化…...
OpenCV 关键点定位
一、Opencv关键点定位介绍 关键点定位在计算机视觉领域占据着核心地位,它能够精准识别图像里物体的关键特征点。OpenCV 作为功能强大的计算机视觉库,提供了多种实用的关键点定位方法。本文将详细阐述关键点定位的基本原理,深入探讨 OpenCV 中…...
C++ 重构muduo网络库
本项目参考的陈硕老师的思想 1. 基础概念 进程里有 Reactor、Acceptor、Handler 这三个对象 Reactor 对象的作用是监听和分发事件;Acceptor 对象的作用是获取连接;Handler 对象的作用是处理业务; 先说说 阻塞I/O,非阻塞I/O&…...
SDHC接口协议底层传输数据是安全的
SDHC(Secure Digital High Capacity)接口协议在底层数据传输过程中确实包含校验机制,以确保数据的完整性和可靠性。以下是关键点的详细说明: 物理层与数据链路层的校验机制 物理层(Electrical Layer)&…...
arm_math.h、arm_const_structs.h 和 arm_common_tables.h
在 FOC(Field-Oriented Control,磁场定向控制) 中,arm_math.h、arm_const_structs.h 和 arm_common_tables.h 是 CMSIS-DSP 库的核心组件,用于实现高效的数学运算、预定义结构和查表操作。以下是它们在 FOC 控…...
buuctf sql注入类练习
BUU SQL COURSE 1 1 实例无法访问 / Instance cant be reached at that time | BUUCTF但是这个地方很迷惑就是这个 一个 # 我们不抓包就不知道这个是sql注入类的判断是 get 类型的sql注入直接使用sqlmap我们放入到1.txt中 目的是 优先检测 ?id1>python3 sqlmap.py -r 1.t…...
具身导航中的视觉语言注意力蒸馏!Vi-LAD:实现动态环境中的社会意识机器人导航
作者:Mohamed Elnoor 1 ^{1} 1, Kasun Weerakoon 1 ^{1} 1, Gershom Seneviratne 1 ^{1} 1, Jing Liang 2 ^{2} 2, Vignesh Rajagopal 3 ^{3} 3, and Dinesh Manocha 1 , 2 ^{1,2} 1,2单位: 1 ^{1} 1马里兰大学帕克分校电气与计算机工程系, 2…...
全局前置守卫与购物车页面鉴权
在很多应用里,并非所有页面都能随意访问。例如购物车页面,用户需先登录才能查看。这时可以利用全局前置守卫来实现这一鉴权功能。 全局前置守卫的书写位置在 router/index.js 文件中,在创建 router 对象之后,暴露 router 对象之前…...
vue3 ts 自定义指令 app.directive
在 Vue 3 中,app.directive 是一个全局 API,用于注册或获取全局自定义指令。以下是关于 app.directive 的详细说明和使用方法 app.directive 用于定义全局指令,这些指令可以用于直接操作 DOM 元素。自定义指令在 Vue 3 中非常强大࿰…...
layui 弹窗-调整窗口的缩放拖拽几次就看不到标题、被遮挡了怎么解决
拖拽几次,调整窗口的缩放,就出现了弹出的页面,右上角叉号调不出来了,窗口关不掉 废话不多说直入主题: 在使用layer.alert layer.confirm layer.msg 等等弹窗时,发现看不到弹窗,然后通过控制台检查代码发现…...
网络空间安全(57)K8s安全加固
一、升级K8s版本和组件 原因:K8s新版本通常会引入一系列安全功能,提供关键的安全补丁,能够补救已知的安全风险,减少攻击面。 操作:将K8s部署更新到最新稳定版本,并使用到达stable状态的API。 二、启用RBAC&…...
2025蓝桥杯C++A组省赛 题解
昨天打完蓝桥杯本来想写个 p y t h o n python python A A A 组的题解,结果被队友截胡了。今天上课把 C A CA CA 组的题看了,感觉挺简单的,所以来水一篇题解。 这场 B B B 是一个爆搜, C C C 利用取余的性质比较好写&#…...
论文学习:《通过基于元学习的图变换探索冷启动场景下的药物-靶标相互作用预测》
原文标题:Exploring drug-target interaction prediction on cold-start scenarios via meta-learning-based graph transformer 原文链接:https://www.sciencedirect.com/science/article/pii/S1046202324002470 药物-靶点相互作用(DTI&…...
【题解-洛谷】P1824 进击的奶牛
题目:P1824 进击的奶牛 题目描述 Farmer John 建造了一个有 N N N( 2 ≤ N ≤...
机械革命 无界15X 自带的 有线网卡 YT6801 debian12下 的驱动方法
这网卡是国货啊。。。 而且人家发了驱动程序 Motorcomm Microelectronics. YT6801 Gigabit Ethernet Controller [1f0a:6801] 网卡YT6801在Linux环境中的安装方法 下载网址 yt6801-linux-driver-1.0.29.zip 我不知道别的系统是否按照说明安装就行了 但是debian12不行&…...
十八、TCP多线程、多进程并发服务器
1、TCP多线程并发服务器 服务端: #include<stdio.h> #include <arpa/inet.h> #include<stdlib.h> #include<string.h> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> #include <pthread.h>…...
JAVA中正则表达式的入门与使用
JAVA中正则表达式的入门与使用 一,基础概念 正则表达式(Regex) 用于匹配字符串中的特定模式,Java 中通过 java.util.regex 包实现,核心类为: Pattern:编译后的正则表达式对象。 Matcher&#…...
AIGC-文生图与图生图
在之前的文章中,我们知道了如何通过Web UI和Confy UI两种SD工具来进行图片生成,今天进一步地讲解其中的参数用处及如何调节。 文生图 参数详解 所谓文生图,就是通过文字描述我们想要图片包含的内容。初学的话,还是以Web UI为例…...
量化交易 - 聚宽joinquant - 多因子入门研究 - 源码开源
先看一下我们的收益: JoinQuant直达这里看看 下面讲解原理和代码。 目录 一、是否为st 二、是否停牌 三、市值小、roe大 四、编写回测代码 今天来研究一下多因子回测模型,这里以‘市值’、‘roe’作为例子。 几个标准:沪深300里选股&am…...
本地缓存方案Guava Cache
Guava Cache 是 Google 的 Guava 库提供的一个高效内存缓存解决方案,适用于需要快速访问且不频繁变更的数据。 // 普通缓存 Cache<Key, Value> cache CacheBuilder.newBuilder().maximumSize(1000) // 最大条目数.expireAfterWrite(10, TimeUnit.MINUTES) /…...
虚拟列表react-virtualized使用(npm install react-virtualized)
1. 虚拟化列表 (List) // 1. 虚拟化列表 (List)import { List } from react-virtualized; import react-virtualized/styles.css; // 只导入一次样式// 示例数据 const list Array(1000).fill().map((_, index) > ({id: index,name: Item ${index},description: This is i…...
解释型语言和编译型语言的区别
Python 的执行过程通常涉及字节码,而不是直接将代码编译为机器码。以下是详细的解释: ### **Python 的执行过程** 1. **源代码到字节码**: - Python 源代码(.py 文件)首先被编译为字节码(.pyc 文件&…...
猫咪如厕检测与分类识别系统系列【三】融合yolov11目标检测
✅ 前情提要 家里养了三只猫咪,其中一只布偶猫经常出入厕所。但因为平时忙于学业,没法时刻关注牠的行为。我知道猫咪的如厕频率和时长与健康状况密切相关,频繁如厕可能是泌尿问题,停留过久也可能是便秘或不适。为了更科学地了解牠…...
sql server 字段逗号分割取后面的值
在 SQL Server 中,如果你有一个字段(字段类型通常是字符串),其中包含用逗号分隔的值,并且你想提取这些值中逗号后面的特定部分,你可以使用多种方法来实现这一点。这里我将介绍几种常见的方法: …...
