美文网首页
Vue异步更新

Vue异步更新

作者: key君 | 来源:发表于2019-10-12 00:07 被阅读0次

当调用set方法时会走dep.notify()
然后watcher.update()->queueWatcher()
每调用set一次就会调用queueWatcher() 一次,同一个属性多次调用里面会去重,只会取最新的值,属性不存在watcher加入队列
启动异步任务nextTick()
执行刷新函数,启动异步函数timerFunc()
首选微任务异步操作,ios不支持promise会直接用setTimeout,下面1和2是微任务
1.promise
2.mutationobserver
3和4是宏任务
3.setImmediate
4.setTimeout
调用刷新函数:
watcher.run()

1是微任务:浏览器不会刷新 批量刷新 放到本次事件周期的前面 所以比较快
2是宏任务:多任务会刷新好几次 放到下一次的事件周期 所以比较慢

异步任务:批量操作变量

相关文章

  • Vue.$nextTick用法

    vue是数据驱动视图更新,但vue数据变化后,视图不会立即更新,而是异步的过程.具体的更新时机参考主队列,异步队列...

  • 05Vue源码剖析2

    Vue 源码剖析2 异步更新队列 Vue 高效的秘诀是一套批量、异步的更新策略 概念解释 事件循环 Event L...

  • 解析Vue.nextTick

    一、原理 1、vue异步异步更新队列(JS运行机制 、 事件循环)Vue 在观察到数据变化时并不是直接更新 DOM...

  • vue使用this.$nextTick()函数

    Vue.nextTick Vue 中的 nextTick 涉及到 Vue 中 DOM 的异步更新 Vue 实现响应...

  • Vue 异步更新及nextTick原理

    目标 理解 Vue 异步更新机制 理解 nextTick 原理   先来看看官网关于 异步更新队列[https:/...

  • Vue异步更新

    当调用set方法时会走dep.notify()然后watcher.update()->queueWatcher()...

  • 为什么Vue采用异步渲染呢?

    Vue 是组件级更新,如果不采用异步更新,那么每次更新数据都会对当前组件进行重新渲染,所以为了性能, Vue 会在...

  • 7.批量异步更新策略及 nextTick 原理

    批量异步更新策略及 nextTick 原理 为什么要异步更新 通过前面几个章节我们介绍,相信大家已经明白了 Vue...

  • 彻底理解vue里面的各种watcher及其作用

    vue中的watcher的分类 在文章vue异步更新流程梳理[https://www.jianshu.com/p/...

  • this.$nextTick()

    官方文档是这样解释的:Vue 在更新 DOM 时是异步执行的,为了在数据变化之后等待 Vue 完成更新 DOM,可...

网友评论

      本文标题:Vue异步更新

      本文链接:https://www.haomeiwen.com/subject/rzvxmctx.html