如图
- 上图为列表部分,下图为vue部分
- 采用
watch
监听数据变化,然后用this.$nextTick
等待dom渲染完成再执行方法
预期得到这样的结果
实际上得到的结果
如果说在控制台执行方法,可以将上图变为预期结果
也就是说this.$nextTick
的回调函数并不是在列表渲染结束之后执行方法,请问这是什么情况?
如图
watch
监听数据变化,然后用this.$nextTick
等待dom渲染完成再执行方法预期得到这样的结果
实际上得到的结果
如果说在控制台执行方法,可以将上图变为预期结果
也就是说this.$nextTick
的回调函数并不是在列表渲染结束之后执行方法,请问这是什么情况?
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
nextTick 是 “在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。” 很难保证 imageList 变化后的下一次 Dom 更新是图片渲染出来的那一次更新,不一定准确,建议通过渲染 控制展示,不要通过 Dom 操作的方法
评论不好贴代码