nextTick多层嵌套的问题
来源:22-1 课程总结

学东西要快
2018-01-20
nextTick官方解释是在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。
既然是个异步方法,那我想能否通过nextTick的多层嵌套,比如
this.$nextTick(()=>{ this.$nextTick(()=>{ this.$nextTick(()=>{ // render dom after some async operator }) }) })
来保证页面在获得异步数据之后得到正常的渲染呢。
会有这个问题主要是老师在做商家实景的横向滚动时,老师是watch了seller来保证dom渲染完毕后再应用better-scroll的。如果多层嵌套有用的话应该也能满足需求吧。
虽然我试过多层嵌套没有预期的效果,还是只能跟老师一样去watch,但是不明白为什么这样不可以。请老师指点一下迷津
写回答
1回答
-
当然不可以,nextTick 说白了也就是下一个 tick,不到 20ms 的时间,你写再多也不能保证一定有数据。如果是从服务端读取数据,那么一定需要等服务端返回数据的时机才是最靠谱的。
012018-01-20
相似问题