vue获取dom元素注意问题

Posted Apple

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue获取dom元素注意问题相关的知识,希望对你有一定的参考价值。

mounted(){
        setTimeout(()=>{
          this.contentToggle();
        },1000)
    },

methods:{
      contentToggle(){
        console.log(this.$refs.bodyFont.offsetHeight);
      }
    }

vue想要获取dom元素的高,一般情况下我们都可以想到写在mounted函数里,即dom加载完再获取,但是结果并不如我们所想,又想到用一个

this.$nextTick(()=>{
     
       //函数
})

来获取,发现根本没用啊/。。

所以好的办法就是用一个setTimeout定时器,时间可以设为0,但是有时候生效,有时候不生效,还是加一个小的时间值比较保险,这样就可以保证获取到的一定是dom加载后的了,该原理适用于vue中很多传值的问题,刚开始获取不到传过来的值,用一个setTimeout就可。

以上是关于vue获取dom元素注意问题的主要内容,如果未能解决你的问题,请参考以下文章

vue1和vue2获取dom元素的方法

vue中ref获取不到dom问题解决,关于this.$nextTick的使用

vue获取当前点击元素的dom对象

.vue组件中获取DOM元素问题

JavaScript单行代码,也就是代码片段

vue获取dom元素的宽高