nextTick() 主要用来解决DOM更新不同步的问题,因为大多数我们请求的后端数据是异步的,所以当数据回来时,DOM 已经被渲染完了,所以为了解决这个问题,可以用到nextTick()
<script setup>
import { ref, nextTick } from 'vue'
const count = ref(0)
async function increment() {
count.value++
// DOM 还未更新
console.log(document.getElementById('counter').textContent) // 0
await nextTick()
// DOM 此时已经更新
console.log(document.getElementById('counter').textContent) // 1
}
</script>
<template>
<button id="counter" @click="increment">{{ count }}</button>
</template>