vue 更新 dom 异步的
如果想要数据更新之后拿到更新之后的dom,那么就可以使用 $nextTick
$nextTick 接收一个函数作为参数,这个函数在下一次dom更新之后执行
如果没有传入函数,$nextTick 会返回一个 promise 实例
$nextTick 实现原理:
依次判断 浏览器是否支持
Promise.then、MutationObserver、setImmediate、setTimeout
首先判断浏览器是否支持 promise,如果支持,使用的 promise实例的then方法
如果不支持 promise,会判断是否支持 MutationObserver
如果不支持 MutationObserver,会判断是否支持 setImmediate
如果前面都不支持,会使用 setTimeout