vue根据函数动态传递的id 获取元素并获取该元素的宽高
时间: 2023-12-17 18:05:45 浏览: 60
Vue动态获取width的方法
可以使用Vue的ref特性来获取元素,并使用JavaScript中的offsetWidth和offsetHeight属性获取元素的宽高。
例如,在Vue组件中定义一个函数和一个ref:
```html
<template>
<div>
<div ref="myElement"></div>
<button @click="getElementSize('myElement')">获取元素大小</button>
</div>
</template>
<script>
export default {
methods: {
getElementSize(id) {
const element = this.$refs[id]
const width = element.offsetWidth
const height = element.offsetHeight
console.log(`宽度:${width},高度:${height}`)
}
}
}
</script>
```
在上面的代码中,我们在div元素上使用了ref特性来命名该元素为"myElement"。在按钮的@click事件中,我们调用了getElementSize函数并传递了"myElement"作为参数。函数内部使用this.$refs[id]来获取该元素的引用,并使用element.offsetWidth和element.offsetHeight来获取元素的宽度和高度。最后,我们将宽度和高度输出到控制台中。
阅读全文