2014-09-16 2 views
0

주어진 옵션을 선택했을 때로드해야하는 이미지 파일이 여러 개 있습니다. 기본적으로 이미지가 이미로드되어 있습니다.이미지를 비동기 적으로로드 중

옵션을 선택하면 이미지가 완전히로드 된 경우에만 이미지를 변경하려고합니다.

다음과 같이 내가 $http.get 요청을하고있는 중이 야,이 작업을 수행하려면 데이터가로드 된

$http.get('/public/images/city/amsterdam.jpg').success(function (data, status, headers, config) { 
    // data loaded 
}); 

되면, 나는 <img> 또는 background-image으로 지정하고자합니다. angularjs 또는 javascript를 사용하여 이것을 어떻게 할 수 있습니까?

+1

을 사용할 수 있습니다. 이미지를로드 할 때 리소스를 절약 할 수 있습니까? 표시 할 이미지를 처리하는'$ scope' 변수를 가질 수 있으며 ''태그에'ng-if'를 사용하여' '요소를 전환 할 수 있습니까? –

+0

기본 이미지를 표시하려면 style = "background-image : url()"을 사용하고 있습니다. 요소가 이미지없이 절대로 없도록 새 이미지가로드 될 때만 새 이미지로 바뀝니다. 이미지 크기는 500-600KB입니다. – Kyuubi

답변

1

당신이 그것을 할 수있는 이상한 방법처럼 보인다 자바 스크립트 image object

var myImage = new Image(); 
myImage.onLoad = function(){ 
    // data loaded 
    // do stuff here, then apply so angular knows. 
    $scope.$apply(); 
}; 
myImage.src = '/public/images/city/amsterdam.jpg'; 
관련 문제