结论:只有在非常多的节点中(v-for渲染数量至少1000多行),使用eventagent会提升一点性能,否则事件绑定每个节点几乎没有区别。首先,vue源码没有做事件代理。vue论坛的开发者回复:https://forum.vuejs.org/t/is-...例子证明:https://blog.csdn.net/supming...事件代理的主要作用是什么?1、动态生成和销毁子节点时,不需要主动维护子节点事件。(维护子节点事件:addEventListener、removeEventListener)2、用一个父节点代表多个子节点事件处理器,减少内存开销,提高整体性能。从vue的角度来看1.在使用v-for时,使用v-on:或@这种简单的语法可以为批量渲染的每个元素绑定事件;而当组件被销毁时,vue也会自动帮我们移除所有的事件处理器。所以事件代理的第一个功能vue已经帮我们搞定了。2.在v-for中,所有元素都绑定到同一个事件。所以除非大量的元素被批量渲染,一般情况下,事件可以直接绑定到每个子元素上。在少量v-for渲染的情况下,使用事件代理的性能差别不大。在这种情况下,不需要使用事件代理。性能差异:生成100000个span节点,通过devTools中的performancemonitor监控内存占用和事件监听数量,对比以下三种情况:1.没有使用事件代理,每个span节点绑定一个点击事件,并指向同一个事件处理程序
