Wie kann ich in AngularJS warten und ein Standardbild anzeigen, bis die Direktive das reale Bild aktualisiert (das noch geladen wird).Warten auf angularJS image
Ich brauche nur der $ scope.imageLoaded auf true
Wie kann ich in AngularJS warten und ein Standardbild anzeigen, bis die Direktive das reale Bild aktualisiert (das noch geladen wird).Warten auf angularJS image
Ich brauche nur der $ scope.imageLoaded auf true
<div ng-show="imageLoaded"><!--your image--></div>
<div ng-show="!imageLoaded"><!--default image--></div>
in Ihrem Controller jede Sekunde und nicht auf Last um das Bild zu überprüfen gesetzt, wenn das Bild fertig geladen ist.
aber Wie überprüfe ich das? Wie kann ich sicherstellen, dass die URL bereits geladen und gültig ist? – fstdv
sollten Sie eine <div>
mit der Breite und der Höhe des Bildes, auf das Sie warten, festlegen.
Basic idea is create a directive and add it as attribute to img tag.
JS:
app.directive('imageonload', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.bind('load', function() {
alert('image is loaded');
});
element.bind('error', function(){
alert('image could not be loaded');
});
}
};
});
HTML:
<img ng-src="{{src}}" imageonload />
das ist nur für onload gut wie kann ich es jede Sekunde überprüfen und den Prozess stoppen, während Bild vorhanden ist – fstdv
Mögliche Duplikat [Set Standard-Bild vor dem eigentlichen Bild geladen ist] (https://stackoverflow.com/questions/34722000/set-default-image-before-actual-image-is-loaded) –