按照官方文档this.$nextTick可以在dom渲染完成之后执行操作,于是出现了以下问题:

如图图片描述

图片描述

  • 上图为列表部分,下图为vue部分
  • 采用watch监听数据变化,然后用this.$nextTick等待dom渲染完成再执行方法

预期得到这样的结果
图片描述

实际上得到的结果
图片描述

如果说在控制台执行方法,可以将上图变为预期结果
图片描述

  • 初看之下,似乎this.$nextTick并没有生效,但是实际上的确是dom渲染完成之后才执行的方法;
  • 猜测原因是图片源是位于服务器端,而不在vue端,dom渲染完成,但是图片资源并没有加载完成,于是出现了这样的情况;
  • 解决方案是设置定时器,如图image

采用这种方式延时等待图片资源加载完成,但是如果请求端网络情况较差,仍然会出现加载不全的情况,因此此方案也有一些不稳定性。

以上


leo_qin
167 声望4 粉丝

PHPer


« 上一篇
mycat实践