美文网首页
vue项目中,当后端返回来的img图片src地址获取失败时

vue项目中,当后端返回来的img图片src地址获取失败时

作者: 七个隆咚锵 | 来源:发表于2019-11-20 18:15 被阅读0次

css用到flex布局很常见,但是使用中遇到了img元素,无图片时选择默认图片,反之用后端传递过来的图片地址。此时后端传递过来的的图片地址,在浏览器中打开是无法获取到图片时,由于flex布局的原因,导致后面的元素先前顶,占据原来图片的位置。为了解决这个问题,你或许需要如下操作:

 <img :src="item.recruiteePhotoUrl" alt v-if="item.recruiteePhotoUrl" />
  <img :src="defaultImg" v-else  alt/>
//item.recruiteePhotoUrl 链接无法获取到图片,但if此时是布尔值判断,else是不会触发的。默认图片也就无法显示

你需要这样做

<img :src="item.recruiteePhotoUrl" alt v-if="item.recruiteePhotoUrl" @error="nofind($event)"/>
<img :src="defaultImg" v-else  alt/>
//添加原生error事件(图片无法打开会触发这个事件,形参 $event 一定要传)

为什么是$event ?


180655.png

最后在methods里面定义方法

methods{
   nofind(event) { 
            let img=event.srcElement; 
            img.src=require("@/assets/default.png");  //这个路径是你的本地图片路径
            img.onerror=null;  // 控制不要一直跳动 
        },
}

相关文章

网友评论

      本文标题:vue项目中,当后端返回来的img图片src地址获取失败时

      本文链接:https://www.haomeiwen.com/subject/umfaictx.html