J'ai des images qui ressemblent à <img ng-src="dynamically inserted url"/>
. Lorsqu'une seule image est chargée, je dois appliquer la méthode iScroll refresh () pour que l'image puisse faire défiler.
Quelle est la meilleure façon de savoir quand une image est complètement chargée pour exécuter un rappel?
javascript
html
angularjs
Sergueï Basharov
la source
la source
Réponses:
Voici un exemple comment appeler l'image onload http://jsfiddle.net/2CsfZ/2/
L'idée de base est de créer une directive et de l'ajouter en tant qu'attribut à la balise img.
JS:
HTML:
la source
J'ai un peu modifié ceci pour que les
$scope
méthodes personnalisées puissent être appelées:La directive:
J'espère que quelqu'un le trouvera TRÈS utile. Merci @mikach
La
doThis()
fonction serait alors une méthode $ scopela source
@ Oleg Tikhonov: Je viens de mettre à jour le code précédent .. @ mikach Merci ..)
la source
Ma réponse:
la source
Je viens de mettre à jour le code précédent.
et directive ...
la source
En gros, c'est la solution que j'ai fini par utiliser.
$ apply () ne doit être utilisé par des sources externes que dans les bonnes circonstances.
plutôt que d'utiliser apply, j'ai jeté la mise à jour de la portée à la fin de la pile d'appels. Fonctionne aussi bien que "scope. $ Apply (attrs.imageonload) (true);".
la source
$apply()
ne doit être utilisé que par des sources externes»? je ne suis pas.