vue中如何让<img>在ajax获取到数据(内含src)之后再渲染

图是可以显示出来的,由于ajax异步一开始:src绑定的值还不存在,所以会报

Cannot read property 'avatar' of null"

ajax回来之后图就可以出来了

这种应该怎么办呢

阅读 3.4k
2 个回答

判断呗 :src="item && item.avatar"

你先把放图片的位置留白或者放默认图(通俗点就是,写一个div定高定宽,图片放在div里面,一开始不显示图片)

然后在data中定义一个控制图片显示的变量flag,初始值为false

ajax得到值之后就把刚刚定义的变量的值改为true

最后在img上用v-show='flag'来控制显示

如果是大图影响会影响到界面的,建议还是直接给整个界面一个loading,获取到值之后再显示界面。

小图用上面的方法就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题