星海

Vue · 单选题 · 第 52 题

前端与全栈开发面试 · 第 52 题

修改数据后立即读取 DOM,拿到的仍是旧内容。nextTick 能解决这个问题的原因是?

  1. AnextTick 会强制同步刷新整个应用,使得数据修改立即同步到 DOM 上
  2. BnextTick 的回调会延迟到浏览器的下一帧动画时才执行,等待页面绘制
  3. CnextTick 的回调会等到用户下一次触发交互事件时才执行,避免重复渲染
  4. DDOM 更新是异步批量进行的,nextTick 的回调会在这次更新完成后执行

答案

D D. DOM 更新是异步批量进行的,nextTick 的回调会在这次更新完成后执行

解析

Vue 把同一轮里的多次数据修改放进队列去重,在微任务中统一更新 DOM,避免重复渲染。nextTick 把回调排在这次刷新之后,所以能读到更新后的 DOM。Vue 3 里 nextTick 返回 Promise,可以直接 await nextTick()。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。