最近有人问我一个问题:
这是一个点击触发的函数,start绑定的是class为info的dom的v-if,但是把这句话放到下面就获取不到dom了是为什么
其实之前也遇到过这个问题,不过没有深究,因为赶时间完成功能,不过现在闲下来了,正好有人问问题,我就回过头去 好好再研究一下这个问题。
以下源码分析都是基于 “vue”: “^2.6.10” 版本。
这是我debugger用的测试页面 就很简单的一个vue页面,通过按钮点击事件来控制div元素的显示与消失。
<template>
<div id="app">
<div class="info" v-if="start">123456</div>
<button @click="test">show</button>
</div>
</template>
<script>
export default {
name: 'app',
data () {
return {
start:false,
}
},
methods:{
test(){
this.$nextTick(()=>{
let el=document.querySelector('.info')