setup中的nextTick函数

await nextTick() 是 Vue 3 的一个异步函数,用于等待 DOM 更新完成后执行回调函数,

它在 setup 函数中非常有用,可以确保在对 DOM 进行操作之前,先等待 Vue 完成相关的 DOM 更新。

下面是一个示例,演示了 await nextTick() 的用法:

js 复制代码
<template>
  <div>
    <p ref="message">{{ message }}</p>
    <button @click="updateMessage">更新消息</button>
  </div>
</template>

<script>
import { ref, nextTick } from 'vue';

export default {
  setup() {
    const message = ref('Hello, Vue 3!');

    // 更新消息
    async function updateMessage() {
      message.value = '更新中...';
      await nextTick(); // 等待 DOM 更新
      message.value = '消息已更新!';
    }

    return {
      message,
      updateMessage
    };
  }
}
</script>

这里使用 await nextTick() 来确保在更新消息之前等待 Vue 完成相关的 DOM 更新。

首先,当点击按钮时,updateMessage 函数会先将 message 的值更新为 "更新中...",

然后,使用 await nextTick() 等待 DOM 更新完成,

再然后,一旦 DOM 更新完成,message 的值会再次更新为 "消息已更新!",并且在页面上显示出来。

使用 await nextTick() 可以确保在对 DOM 进行操作之前,先等待 Vue 完成相关的 DOM 更新,以避免出现不一致的情况。

相关推荐
Beginner x_u12 分钟前
前端八股整理(Vue 02)|组件通信、生命周期、v-if 与 v-show
前端·javascript·vue.js
万物得其道者成1 小时前
Vue3 使用 Notification 浏览器通知,解决页面关闭后旧通知点击无法跳转问题
前端·vue.js·edge浏览器
一條狗1 小时前
学习日报 20260423|[特殊字符] 深度解析:Vue 3 SPA 部署到 Spring Boot 的 404/500 错误排查与完美解决方案-2
vue.js·spring boot·学习
LIO2 小时前
Vue 3 实战——搜索框检索高亮的优雅实现
前端·vue.js
_thought2 小时前
踩坑记录:Vue Devtools(Vue2版)在火狐浏览器上,未在控制台显示
前端·javascript·vue.js
军军君012 小时前
数字孪生监控大屏实战模板:交通云实时数据监控平台
前端·javascript·css·vue.js·typescript·前端框架·echarts
前端那点事2 小时前
Vue跨页面通信(8种主流方式|完整可运行Demo,Vue2/Vue3通用)
前端·vue.js
前端那点事3 小时前
Vue大文件上传实现方案(企业级完整版)
前端·vue.js
天才熊猫君3 小时前
容器与图片同步旋转:获取真实占位尺寸方案
前端·javascript·vue.js
英俊潇洒美少年3 小时前
Vue2业务组件库生产级最佳实践:零依赖+依赖注入方案
前端·vue.js·重构