如果原始图像不存在,AngularJS显示默认图像

标签 angularjs

如果图像存在,我想显示用户图像,例如:

<img alt="user_image" src="/images/profile_images/{{result.image}}">

如果用户图像不可用,则应显示默认图像,例如

<img alt="user_image" src="/images/default_user.jpg">

如何通过 html 页面中的 angularjs 来做到这一点?

最佳答案

您可以创建一个指令 checkImage 来检查图像是否确实存在:

<img check-image ng-src="{{img}}" alt="Image" width="100%"  >

指令:

myApp.directive('checkImage', function($http) {
    return {
        restrict: 'A',
        link: function(scope, element, attrs) {
            attrs.$observe('ngSrc', function(ngSrc) {
                $http.get(ngSrc).success(function(){
                    alert('image exist');
                }).error(function(){
                    alert('image not exist');
                    element.attr('src', '/images/default_user.jpg'); // set default image
                });
            });
        }
    };
});

查看演示 http://jsfiddle.net/manzapanza/dtt1z5p8/

关于如果原始图像不存在,AngularJS显示默认图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28345682/

相关文章:

javascript - Jasmine - 如何在 callFake spy 中链接 `.then` 和 `.finally`?

javascript - Angular 选择无法正确更新模型

javascript - 悬停时转换的 Angular 自定义指令显示错误

javascript - 更改 Angular-NVD3 中的折线图区域颜色

javascript - 使用 ngClass 对随机 CSS 变化进行动画处理

angularjs - 转换为 Knockout,然后转换为 Angular,坏主意,或者直接转到 Angular

javascript - 如何以 Angular 发出 JSONP POST 请求?

javascript - 正确保存数据到mongoDB

java - 使用 angularjs 和 json spring 方法帖子中的对象数组

html - 在 Angular 中克隆具有唯一名称的对象