美文网首页Vue生态圈Vue.js
vue中巧用事件委托

vue中巧用事件委托

作者: 知足常乐晨 | 来源:发表于2019-05-05 10:07 被阅读4次

项目中遇到大量的button需要添加同一个@click事件,如果给每一个button都添加@click事件,这么多的监听从性能上来说是不太好的,所以后来改进了一下,我们使用js的事件委托机制,实现如下:

    <div class="rightBtn" @click="filterAnimal($event)">
      <div class="Icon right80" style="top:200px;">
        <span class='IconDuck' data-index="秋沙鸭"></span>
        <span class="IconTextEven">秋沙鸭</span>
      </div>
      <div class="Icon right50" style="top:265px;">
        <span class='IconSheep' data-index="盘羊"></span>
        <span class="IconTextOdd">盘羊</span>
      </div>
      <div class="Icon right80" style="top:330px;">
        <span class='IconLin' data-index="藏原羚"></span>
        <span class="IconTextEven">藏原羚</span>
      </div>
    ...
    </div>

<script> 
...
    filterAnimal(e){
      let dom = e.target;
      let index = dom.getAttribute("data-index");
      console.dir(index);
    },
...
</script> 

通过e.target获取当前点击的元素之后,获取data-index参数的值,既可知道点击的是哪个button了。

相关文章

  • vue中巧用事件委托

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

  • Vue巧用事件委托

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

  • vue:巧用事件委托提升性能

    大量的事件处理函数会影响性能: 事件处理函数本质上是一种函数,是一种对象,存放在内存中,设置大量的事件处理函数会使...

  • JQuery事件委托

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

  • Vue列表 — 事件委托

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

  • c# event事件

    官方注解:.NET Framework 中的事件模型基于事件委托,该委托将事件与其处理程序连接。 若要引发事件,需...

  • JS写事件代理

    js中的事件委托或是事件代理详解

  • 事件委托

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

  • js 中事件委托

    知识准备: 事件的处理流分成三个阶段: 一:事件捕获阶段:当某个元素触发某个事件时,首先会触发根元素documen...

  • Unity3d-c#-观察者设计模式-猫抓老鼠

    在这个例子中运用了委托事件机制讲述了事件和委托的区别最大的区别是:事件是特殊的受限的委托,事件只能在类内部调用,不...

网友评论

    本文标题:vue中巧用事件委托

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