最近在做一个关于vue的项目,去后台拿图片时,最后图片出来了,但是控制台却报错404,这里记录一下解决方法:
分析了下,这样写有个问题,去后台拿图片名称需要时间,项目一运行就开始加载页面,没有拿到图片名称控制台就报个undefined错误。obj.imageUrl=undefined
<img v-lazy="'http://localhost:1337/upload/'+obj.imageUrl" alt="">
undefined:1 GET http://localhost:1337/upload/undefined 404 (Not Found)
然后我就想能不能先拿数据再渲染页面,显然我没有成功,我就看到了网上有一篇关于v-if的详细解释,我就在图片标签内使用了v-if:
<img v-if="obj.imageUrl!=undefined" v-lazy="'http://localhost:1337/upload/'+obj.imageUrl" alt="">
这句大概是这个意思,当拿到图片名称时才显示,没有拿到图片名称就不显示图片,使用v-if来是实现,最后控制台没有报错了,哈哈哈哈。