$nextTick

$nextTick是Vue中用于在DOM更新后执行回调的方法。它基于浏览器特性,优先使用Promise.then,若不支持则尝试MutationObserver,再是setImmediate,最后是setTimeout来确保在DOM更新后执行代码。
摘要由CSDN通过智能技术生成

vue 更新 dom 异步的

 如果想要数据更新之后拿到更新之后的dom,那么就可以使用 $nextTick

 $nextTick 接收一个函数作为参数,这个函数在下一次dom更新之后执行

如果没有传入函数,$nextTick 会返回一个 promise 实例

 $nextTick 实现原理:

依次判断 浏览器是否支持

Promise.then、MutationObserver、setImmediate、setTimeout

       

首先判断浏览器是否支持 promise,如果支持,使用的 promise实例的then方法

如果不支持 promise,会判断是否支持 MutationObserver

如果不支持 MutationObserver,会判断是否支持 setImmediate

如果前面都不支持,会使用 setTimeout

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值