纯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>