欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

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

最编程 2024-02-11 21:41:54
...

大家都知道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)
      })
    },