AlienGao's blog AlienGao's blog
首页
  • JavaScript
  • Antd组件
  • 学习笔记

    • 《ES6 教程》笔记
  • 贪心
  • 广度优先/深度优先
  • 位运算
  • 技术文档
  • GitHub技巧
面试
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

AlienGao

首页
  • JavaScript
  • Antd组件
  • 学习笔记

    • 《ES6 教程》笔记
  • 贪心
  • 广度优先/深度优先
  • 位运算
  • 技术文档
  • GitHub技巧
面试
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • React和Vue列表中Key的作用
  • 谈一谈 nextTick 的原理
  • 为什么 Vuex 的 mutation 和 Redux 的 reducer 中不能做异步操作?
  • Vue 的父组件和子组件生命周期钩子执行顺序是什么
  • React 中 setState 什么时候是同步的,什么时候是异步的?
  • Vue查漏补缺
  • 框架
AlienGao
2021-08-12

谈一谈 nextTick 的原理

Vue 在更新 DOM 时是异步执行的。只要侦听到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的所有数据变更。 如果同一个 watcher 被多次触发,只会被推入到队列中一次。这种在缓冲时去除重复数据对于避免不必要的计算和 DOM 操作 是非常重要的。然后,在下一个的事件循环“tick”中,Vue 刷新队列并执行实际 (已去重的) 工作。Vue 在内部对异步队列 尝试使用原生的 Promise.then、MutationObserver 和 setImmediate,如果执行环境不支持,则会采用 setTimeout(fn, 0) 代替。

编辑 (opens new window)
#框架
上次更新: 2021/08/12, 23:39:04
React和Vue列表中Key的作用
为什么 Vuex 的 mutation 和 Redux 的 reducer 中不能做异步操作?

← React和Vue列表中Key的作用 为什么 Vuex 的 mutation 和 Redux 的 reducer 中不能做异步操作?→

最近更新
01
Promise
08-18
02
Vue查漏补缺
08-16
03
筛选组件
08-14
更多文章>
Theme by Vdoing | Copyright © 2021-2021 AlienGao | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×