vue判断图片为空或者图片加载不成功时显示默认图片

 

纯css解决方案:css

<img src="broken.png" alt="">

 

img {
  position: relative;
}

img:after { 
  content: url('替代圖片');
  display: block;
  position: absolute;
  // 底下是故意要填满而且背景填滿擋住底下那個很醜的加載失敗圖片(字体)
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}

 

这样使用是应为img标签的一些特性:ecmascript

1,img是个比较特殊的标签,和video同样具备被替代性,全部当图片加载成功时,原先定义的伪类会失去做用不提示。ide

2,alt属性会在图片加载失败是出现(替代文字),这样伪类就会起做用了。测试

 

 

网上不少说这样也能够解决,但我测试暂未成功:字体

<div class="bg">
     <img :src="goods.phoneFloorAd.resUrl" :onerror="errorImg01">
</div>
<script type="text/ecmascript-6">
export default {
        data () {
            return {
              errorImg01: 'this.src="' + require('assets/images/load_logo01.png') + '"'
        };
    }
}
</script>
相关文章
相关标签/搜索