在应用vue-seamless-scroll显示列表的滚动效果的时候,会有列表中的数据可以点击的需求,但是直接在li元素上注册click事件并不会全部生效,此时的解决方案如下
<div @click="clickProps2($event)">
<vue-seamless-scroll :data="toDoList2" :class-option="optionKeyword">
<ul >
<li v-for="(item, index) in toDoList2" :key="item.id" :data-obj="JSON.stringify(item)">
<div :data-obj="JSON.stringify(item)">
<div :data-obj="JSON.stringify(item)">
<div :data-obj="JSON.stringify(item)">
<a href="javascript:void(0)" :data-obj="JSON.stringify(item)">{{ index + 1 }}.{{ item.title }}</a>
</div>
</div>
</div>
</li>
</ul>
</vue-seamless-scroll>
</div>
clickProps2:function(e) {
let item = JSON.parse(e.target.dataset.obj);
},
这里面重点是:data-obj 利用元素上的data存储来识别点击的是哪个li元素