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