$nextTick()
1.什么是$nextTick()
简而言之,就是我们更新了页面的数据,vue会去自动重新渲染数据涉及到的dom。$nextTick()会返回一个Promise,then里面就是这个dom渲染之后的回调。
2.什么时候会用到?
我做的项目中一个很典型的例子就是,组件间有相当多的通信。比如A组件的一个值改变了,A组件通知B组件,B组件更新一部分的值,然后在B组件更新完自己的状态后主组件再去调用接口,入参包括B组件更新后的这部分值。这时主组件中就一定要写await this.$refs.B.$nextTick()
,意思就是等B组件更新完数据再去使用。不然这个接口的入参就还是更新之前的,会出现问题。