2017-02-22 9 views

ответ

4

Использование логического оператора ИЛИ ||

<img width="90" height="90" src="{{image||'assets/img/pic_user.png'}}" /> 
6

Вы можете сохранить по умолчанию маршрут изображения в переменной, а затем использовать тройной оператор, чтобы использовать его в случае image не существует:

defaultImage: string = "assets/img/pic_user.png"; 

, а затем в ваш шаблон:

<img width="90" height="90" [src]="image ? image : defaultImage" /> 

Обратите внимание, что я использовал связывание свойств вместо интерполяции, это гораздо более элегантно, на мой взгляд.

+1

Отлично !!! Благодаря :) – Santosh

1

Существует трюк, чтобы установить значения по умолчанию в JavaScript:

var a = newValue || 0; 

То же самое работает и угловые. В вашем случае:

<img width="90" height="90" src="{{image || 'assets/img/pic_user.png' }}" /> 
0

Используйте замещающее изображение

<img fallback-src="fallbackimg" ng-src="{{image}}"/> 

myApp.directive('fallbackSrc', function() { 
    var fallbackSrc = { 
    link: function postLink(scope, iElement, iAttrs) { 
     iElement.bind('error', function() { 
     angular.element(this).attr("src", iAttrs.fallbackSrc); 
     }); 
    } 
    } 
    return fallbackSrc; 
}); 

от: Angular directive for a fallback image

Смежные вопросы