vue 把标签的offsetHeight属性绑定到data 并且标签属性改变后data自动跟着改变
时间: 2023-08-06 13:06:46 浏览: 106
可以使用Vue的计算属性来实现这个功能。首先,将要绑定的标签的`ref`属性设置为一个变量,然后在计算属性中返回该变量的`offsetHeight`值。这样,当标签的属性改变时,计算属性会自动更新。示例代码如下:
```html
<template>
<div>
<div ref="myDiv">Hello World!</div>
<p>The height of myDiv is {{ myDivHeight }}px.</p>
</div>
</template>
<script>
export default {
data() {
return {
myDiv: null
};
},
computed: {
myDivHeight() {
return this.myDiv ? this.myDiv.offsetHeight : 0;
}
},
mounted() {
this.myDiv = this.$refs.myDiv;
}
};
</script>
```
在上述代码中,我们创建了一个名为`myDiv`的变量,并将其初始化为`null`。在组件的`mounted`生命周期函数中,我们将`myDiv`变量设置为`$refs.myDiv`,这样就可以访问到该标签的`offsetHeight`属性。然后,我们创建了一个名为`myDivHeight`的计算属性,它会返回`myDiv`变量的`offsetHeight`值。这样,当`myDiv`变量发生变化时,计算属性会自动更新,并且在模板中可以直接使用`myDivHeight`属性来获取标签的高度。
阅读全文