this.$nextTick与setTimeout
Vue中封装了方法$nextTick
表示该方法里面的函数将在下一次DOM更新后才执行
this.$nextTick(()=> {
})
平时如果我们将想要执行的方法放在其他代码后面执行 也可以使用setTimeout
setTimeout(()=> {
},0)
有些时候这两个方法都能完成我们想要的功能
$nextTick是Vue封装的方法 源码实际上优先用的Promise 然后setInterval 两者都不支持的情况下使用setTimeout
所以本质上是有着宏任务与微任务之间的区别
$nextTick是在DOM更新后更新
setTimeout只是执行延迟 与DOM操作无关 DOM此时有可能更新也有可能不更新
所以如果你的需求需要依赖DOM更新 肯定是使用$nextTick更好