2014-11-09 20 views
11

Używam ng-repeat do drukowania wszystkich obrazów z żądanego folderu, a obrazy te są w <a>, ponieważ używam fancyBox.Błąd konsoli kątowej img src

Oto przykład z kontrolerem:

var ParentCtrl = function ($scope) { 
    $scope.getTimes=function(n){ // for the ng-repeat 
     return new Array(n); 
    }; 
}; 

app.controller('projectController', ['$scope','$injector', function($scope, $injector) { 
    $injector.invoke(ParentCtrl, this, {$scope: $scope}); 

    $scope.title = 'project'; 
    $scope.image_url = 'img/project/'; 
    $scope.image_num = 14; //image count -> [0.jpg, 1.jpg, 2.jpg, ..., 13.jpg] 
}]); 

A szablon:

<a href="" class="fancybox" rel="project-gallery" 
    data-ng-repeat="t in getTimes(image_num) track by $index" 
    data-ng-href="{{image_url+($index)+'.jpg'}}"> 
     <img src="{{image_url+($index)+'.jpg'}}"> 
</a> 

I ten kod działa poprawnie, to pokazuje wszystkie 14 zdjęć. Jednak pojawia się ten błąd w konsoli:

GET http://localhost/projects/project-name/%7B%7Bimage_url+($index)+'.jpg'%7D%7D 404 (Not Found) 

Jak naprawić ten błąd?

+2

czek to: https://docs.angularjs.org/api/ng/directive/ngSrc –

Odpowiedz

18

To jest to, czego szukasz: https://docs.angularjs.org/api/ng/directive/ngSrc To dlatego, że przeglądarka próbuje pobrać obraz z src podałeś. Jeśli użyjesz ng-src, kątowy zajmie się czekaniem aż do skompilowania wyrażenia, a następnie dopisze src do elementu <img>.

+3

Cóż, to było głupie, Zapomniałem o 'ng-src'. Nadal uczę się kanciasty, więc mogę "pozwolić sobie" na te błędy: D Pozdrawiam :) – Vucko

+0

Brak problemów. To było dobre pytanie. Na razie, może zaktualizujemy tytuł, aby odzwierciedlić atrybut "src", skoro teraz mamy dobre przekonanie, że nie było to związane z powtarzaniem? – Kolban

+1

@Kolban Masz rację. Zaktualizowałem tytuł. – Vucko

6

W swoim szablonie użyj data-ng-src w przeciwieństwie do src. Twój nowy szablon będzie

<a href="" class="fancybox" rel="project-gallery" 
    data-ng-repeat="t in getTimes(image_num) track by $index" 
    data-ng-href="{{image_url+($index)+'.jpg'}}"> 
     <img data-ng-src="{{image_url+($index)+'.jpg'}}"> 
</a> 

Zobacz

https://docs.angularjs.org/api/ng/directive/ngSrc

Powiązane problemy