• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • nextTick()

    将回调推迟到下一个 DOM 更新周期之后执行。在更改了一些数据以等待 DOM 更新后立即使用它。

    类型

    function nextTick(callback?:()=>void): Promise<void>

    细节

    当你在 Vue 中改变响应状态时,生成的 DOM 更新不会同步应用。相反,Vue 会缓冲它们直到“下一个更新”,以确保每个组件只更新一次,无论您进行了多少状态更改。

    nextTick()可以在状态更改后,立即使用,以等待 DOM 更新完成。您可以将回调作为参数传递,也可以等待返回的Promise


    例子

    <script>
    import { nextTick } from 'vue'
    
    export default {
      data() {
        return {
          count: 0
        }
      },
      methods: {
        async increment() {
          this.count++
    
          // DOM not yet updated
          console.log(document.getElementById('counter').textContent) // 0
    
          await nextTick()
          // DOM is now updated
          console.log(document.getElementById('counter').textContent) // 1
        }
      }
    }
    </script>
    
    <template>
      <button id="counter" @click="increment">{{ count }}</button>
    </template>