vue中v-for循数组arr,div中显示对象中的某个值,比如item.name,此div为横向排列的,点击任意一个item.name时准确获取此元素距离页面左侧的距离
时间: 2024-02-24 10:56:37 浏览: 69
可以通过添加@click事件来获取点击元素距离页面左侧的距离。具体实现如下:
```html
<template>
<div>
<div v-for="(item, index) in arr" :key="index" @click="handleClick(item)">
{{ item.name }}
</div>
</div>
</template>
<script>
export default {
data() {
return {
arr: [
{ name: 'item1', value: 1 },
{ name: 'item2', value: 2 },
{ name: 'item3', value: 3 }
]
}
},
methods: {
handleClick(item) {
const box = event.target.getBoundingClientRect()
const left = box.left
console.log(item.name + '距离页面左侧的距离:' + left + 'px')
}
}
}
</script>
```
在上面的代码中,我们为每个div元素添加了一个@click事件,当点击元素时会触发handleClick方法。在handleClick方法中,我们通过event.target.getBoundingClientRect()方法获取到当前点击元素的BoundingClientRect对象,然后从中获取距离页面左侧的距离。最后,我们将获取到的距离输出到控制台上。
阅读全文