美文网首页
关于vue mounted钩子里能不能获取dom的问题

关于vue mounted钩子里能不能获取dom的问题

作者: 变量只提升声明不提升赋值 | 来源:发表于2022-01-06 10:00 被阅读0次

大家都知道mounted声明周期是发生在dom挂载完成之后,所以理论上是可以获取到dom元素的

    mounted() {
      console.log(this.$refs.test)
    },
image.png

但是有一些特殊情况下,是没办法在mounted中直接获取到都dom元素的。
例如,dom是一个v-if判断展示与否的元素时,如果我们在mounted里使判断条件成立,那么此时打印这个dom元素会是undefined。
这个时候就需要使用异步操作来获取。

   mounted() {
      this.loading =true
方案一:
setTimeout(()=>{
        console.log(this.$refs.test)
      },0)
方案二:
      this.$nextTick(()=>{
        console.log(this.$refs.test)
      })
    },

相关文章

网友评论

      本文标题:关于vue mounted钩子里能不能获取dom的问题

      本文链接:https://www.haomeiwen.com/subject/kkvlcrtx.html