각도로 이미지를로드하는 지시문을 이미지 URL에 넣습니다.이 이미지는로드 된 이미지 또는 배경 이미지로 폴백을 설정합니다.이미지가 존재하는지 확인하는 중 여러 배경 이미지가 있습니다
return {
restrict: 'A',
scope: {
imageLoad: '@'
},
link: function(scope, element, attrs) {
var fallback = 'fallbackimg.jpg';
attrs.$observe('imageLoad', function (url) {
var image = new Image();
image.onerror = function() {
setBackgroundImage(fallback);
};
image.onload = function() {
setBackgroundImage(url);
};
image.src = url;
});
function setBackgroundImage(url) {
element.css({
'background-image': 'url(' + url + ')'
});
}
}
};
그러나, CSS에서 여러 배경 이미지는 같은 방법으로 위를 처리하는 것 다음 300x100의 이미지가 존재하지 않는
background: url(http://placehold.it/300x100), url(http://placehold.it/100x100);
경우는 대체로 100 × 100을 사용합니다.
300x100 이미지가있는 경우 100x100을로드하지 않고 이미지를 사용해야합니다.
첫 번째 이미지가 404 일 경우 CSS 배경 방법이 작동하지 않는다고 생각했지만 테스트 할 때는 예상대로 작동하는 것처럼 보입니다.
css 메서드에서 지시문 메서드를 사용하는 데 나에게 실제적인 이점이 있습니까?