vue通过$ref获取不到元素样式?

将元素样式写到style标签内,通过$refs获取到元素样式全为空,
将元素样式设置为行内样式,通过$refs可以获取到。

如下代码:

1.获取不到样式
<template>

<div class="tabbar" ref="tabbar">
    tabbar1
</div>

</template>

<script>

export default {
    data () {
        return {
            
        }
    },
    mounted () {
        console.log('he -- ',this.$refs.tabbar.style.height);
    }
}

</script>

<style lang="scss" scoped>
.tabbar {

position: fixed;
left: 0;
bottom: 0;
width: 100%;
border: 1px solid #ccc;
height: 0.98rem;

}
</style>

2.可以获取到样式
<template>

<div style="height: 0.98rem;" class="tabbar" ref="tabbar">
    tabbar1
</div>

</template>

<script>

export default {
    data () {
        return {
            
        }
    },
    mounted () {
        console.log('he -- ',this.$refs.tabbar.style.height);
    }
}

</script>

<style lang="scss" scoped>
.tabbar {

position: fixed;
left: 0;
bottom: 0;
width: 100%;
border: 1px solid #ccc;

}
</style>

哪位大侠知道不通过设置行内样式的方式,怎样获取到元素样式?

阅读 17.6k
3 个回答

this.$refs.tabbar.style.offsetHeight);

上面的情况

this.$refs.tabbar.height

下面的情况

this.$refs.tabbar.style.height
新手上路,请多包涵

您好,这个问题解决了么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏