Bootstrap

vue.$nextTick源码分析

最近有人问我一个问题:
在这里插入图片描述
这是一个点击触发的函数,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')
;