美文网首页技术贴
vue 事件委托

vue 事件委托

作者: zhudying | 来源:发表于2023-09-23 21:45 被阅读0次

事件委托也叫事件代理,把绑定在子元素上的响应事件委托给父元素。原理是事件的冒泡
vue 的事件委托
事件绑定在父元素上,避免子元素渲染过多事件,影响性能

<template>
  <ul @click="onclick">
      // data-* 自定义属性,通过 e.target.dataset 获取
      <li class="home_item" v-for="(item,index) in list" :key="item.id" :data-index="index"></li>
  </ul>
</template>
<script>
export default {
  methods: {
      onclick(e){
          let { path=[] } = e
          // 点击的target 可能是li的子元素,拿不到data-index,所以通过path数组获取home_item的元素
          let targetEl = path.find(el => el.className == 'home_item')
          // 也可以通过 getAttribute(data-index) 获取index
          let { index=0 } = targetEl.dataset
          // 拿到item,可以传item,考虑到item可能过大,直接传会影响视图加载,所以只传index
          let item = this.list[index] 
      }
  }
}
</script>

相关文章

  • Vue列表 — 事件委托

    前言 从疯狂的操纵dom转到vue这样通过数据驱动的程序员来说,姿势的转换也自然产生了很多疑问。比如,事件委托。包...

  • Vue巧用事件委托

    我们经常遇到vue中v-for一个列表,列表的每一项都绑定了@click处理事件。我们都知道绑定这么多监听,从性能...

  • 事件委托

    ------------------事件委托----------------- 事件: 事件委托: 原理: 冒泡 ...

  • web前端面试题@六(事件委托)

    *说到事件委托,我们首先先要知道什么是事件委托—— · 那么什么是事件委托呢??? JS里的事件委托就是当事件...

  • 前端常见面试题(十一)@郝晨光

    什么是事件委托?为什么要用事件委托? 什么是事件委托? 事件委托,又称事件代理,就是将元素的事件处理交由父元素或者...

  • 十六、DOM之事件委托 ------ 2020-01-05

    1、事件委托: 2、事件委托的优势:

  • JQuery事件委托

    JavaScript(jQuery)中的事件委托 一:什么是事件委托? 事件委托是利用事件冒泡,只指定一个事件...

  • 事件委托笔记

    事件委托原理:事件冒泡机制。 什么是事件委托: 事件委托——给父元素绑定事件,用来监听子元素的冒泡事件,并找到是哪...

  • 事件委托

    事件委托 什么是事件委托(事件代理): 事件委托就是利用事件冒泡的原理,将事件注册到父元素上,减少子元素的事件注册...

  • vue中巧用事件委托

    项目中遇到大量的button需要添加同一个@click事件,如果给每一个button都添加@click事件,这么多...

网友评论

    本文标题:vue 事件委托

    本文链接:https://www.haomeiwen.com/subject/mkmmvdtx.html