Vue 的 nextTick 如何保证回调在视图更新之后执行?
简答题困难751 次浏览
参考答案与解析
# 核心结论
nextTick 的本质是把回调安排到当前批次响应式状态变更所触发的视图更新完成之后,而不是承诺“下一帧执行”,也不是通用的延时函数。Vue 为了合并同一轮同步代码中的多次状态变更,会将组件更新任务放入调度队列,再异步刷新;nextTick 返回或复用与本轮刷新相关的异步完成信号,使调用方能在刷新结束后读取更新后的页面结构。
count.value += 1;
count.value += 1;
await nextTick();
console.log(element.textContent);
两次赋值不一定造成两次真实页面更新。响应式依赖触发组件更新任务
