永久网站建设学校网络组建方案
2026/2/10 5:47:28 网站建设 项目流程
永久网站建设,学校网络组建方案,做网站常用的小语种有哪些,嵌入式开发是什么专业文章目录 Vue 事件机制全面解析#xff1a;原生事件、自定义事件与 DOM 冒泡完全讲透1.Vue事件的核心机制1.1 原生事件#xff08;native events#xff09;1.2 子组件自定义事件#xff08;子组件 emit#xff09;1.3 浏览器 DOM 的事件冒泡机制 2.事件相关的实用补充2.4…文章目录Vue 事件机制全面解析原生事件、自定义事件与 DOM 冒泡完全讲透1.Vue事件的核心机制1.1 原生事件native events1.2 子组件自定义事件子组件 emit1.3 浏览器 DOM 的事件冒泡机制2.事件相关的实用补充2.4 DOM 常用事件2.5 Vue 事件修饰符总览Vue 事件机制全面解析原生事件、自定义事件与 DOM 冒泡完全讲透为什么要理解 Vue 事件只知道 click却分不清它属于谁子组件不 emit父组件 click 为何能触发面试中被问 “emit 和 click 区别1.Vue事件的核心机制1.1 原生事件native events当 drop 写在 HTML 原生标签上例如div drophandleDrop/div这说明监听的是浏览器 DOM 的 drop 事件用户把文件拖到 上时触发不需要任何子组件 emit示例如下divclasschunk-upload-triggerdrophandleDropdragenterhandleDragEnterdragleavehandleDragLeave这些都是原生 DOM 事件没有任何“子组件触发”的概念1.2 子组件自定义事件子组件 emit父组件中写入Childfile-selectedonFileSelected/等待子组件 Child 调用emit(file-selected,file)父组件收到这个事件并执行 onFileSelectedChunkUploadTrigger 内部 emit(‘file-selected’, file)UploadPanel 接收到执行 handleFileSelected这种完全不涉及 DOM 事件。1.3 浏览器 DOM 的事件冒泡机制父组件中ChunkUploadTrigger drophandleDrop /子组件中div drophandleDropInside/div子组件不用 emit 通知父组件子组件父组件都是同名的事件此时父组件的事件就会穿透绑定到子组件根元素两者的执行顺序childDrop() 会触发parentDrop() 也会触发两者触发顺序按 DOM 事件流来冒泡顺序DOM 事件冒泡不关心你是不是在一个文件、一个组件它只关心 DOM 节点树。父组件根 DOM └── 子组件根 DOM └── 子组件内部 DOM所以虽然写在了两个.vue 文件但是渲染出来的其实是跟在一个文件里写了两个 父子div 没有任何区别事件冒泡就是沿着这棵 DOM 树往上走的Parent ChunkUploadTrigger / /Parent div classparent-root div classchunk-upload-trigger ← 子组件根节点 div.../div /div /div2.事件相关的实用补充2.4 DOM 常用事件浏览器原生事件放在 HTML 标签上就能触发鼠标事件click,dblclick,mousedown,mouseup键盘事件keydown,keyup,keypress输入 表单事件dragenter,dragover,dragleave,drop其他 DOM 事件scroll,wheel,resize,load,error2.5 Vue 事件修饰符总览修饰符含义对应的 DOM 行为.stop阻止事件冒泡event.stopPropagation().prevent阻止默认行为event.preventDefault().capture使用捕获模式addEventListener(…, true).self只有事件目标是当前元素时触发event.target currentTarget.once事件只触发一次自动 removeEventListener.passive表示监听器不会调用 preventDefaultpassive: true比如dragover.preventhandleDragOver

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询