【angular】angular里处理图片成功加载前的默认图片显示问题

onerror

img标签支持onerror 事件。在加载文档或图像的过程中如果发生了错误,就会触发onerror事件。可以使用一张提示错误的图片代替显示不了的图片

<img ng-src="{{imgUrl}}" src="" onerror="this.src='res/default-img.png'" alt="风景照"/>

onerror指令封装

<!-- src="" 不可省略 -->
<img ng-src="{{imgUrl}}" src="" err-src="res/default-img.png"  alt="风景照"/>
.directive('errSrc', function () {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            element.bind('error', function () {
                if (attrs.src != attrs.errSrc) {
                    attrs.$set('src', attrs.errSrc);
                }
            });
        }
    };
})

参考链接: img标签的onerror事件


除了onerror方法之外,懒人可用偏方

偏方一 ng-if判断

<div>
     <img ng-if="imgUrl" ng-src="{{imgUrl}}"/>
     <img ng-if="!imgUrl" src="res/default-img.png"/>
</div>

偏方二 三目运算判断

<img ng-src={{imgUrl?imgUrl:defaultImage}} alt="风景照">

偏方三 图片的background

// 当所需加载的图片不透明时,可设置图片的默认背景图片或默认背景颜色
img{
	background-image: url('res/default-img.png');
	background-color: #7cbaec;
    background-size: 100% 100%;
    width: 80px;
    height: 80px
}

原文链接:angular—— 当ng-src图片路径为空 设置默认图片

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值