Javascript Vue.js处理多次单击事件
我有一个列表,希望为列表中的每个项目处理一个单击事件Javascript Vue.js处理多次单击事件,javascript,mouseevent,vuejs2,vue.js,Javascript,Mouseevent,Vuejs2,Vue.js,我有一个列表,希望为列表中的每个项目处理一个单击事件 <ul> <li v-for="item, index in items" :key="index" @click="select(item)" > {{ item }} </li> </ul> 当有大约10个项目时,这种方法效果很好。但是,当有大约1000个项目时,性能会变得非常慢,因为我为1000个项目附加了1000个事件 解决方案是只为列表
<ul>
<li
v-for="item, index in items"
:key="index"
@click="select(item)"
>
{{ item }}
</li>
</ul>
当有大约10个项目时,这种方法效果很好。但是,当有大约1000个项目时,性能会变得非常慢,因为我为1000个项目附加了1000个事件
解决方案是只为列表附加一个单击事件,并使用event.target
<ul @click="select($event)">
<li
v-for="item, index in items"
:key="index"
>
{{ item }}
</li>
</ul>
-
{{item}}
在功能中选择
,如何获取每个项目对应的项目
<ul @click="select($event)">
<li
v-for="item, index in items"
:key="index"
:id="index"
>
{{ item }}
</li>
</ul>
<ul @click="select($event)">
<li
v-for="item, index in items"
:key="index"
:id="index"
>
{{ item }}
</li>
</ul>
select($event) {
console.log('Select ', $event.srcElement.id)
}