Mam zdjęcia, które wyglądają <img ng-src="dynamically inserted url"/>
. Kiedy ładowany jest pojedynczy obraz, muszę zastosować metodę iScroll refresh (), aby obraz był przewijalny.
Jaki jest najlepszy sposób, aby dowiedzieć się, kiedy obraz jest w pełni załadowany, aby uruchomić jakieś wywołanie zwrotne?
javascript
html
angularjs
Siergiej Baszarow
źródło
źródło
Odpowiedzi:
Oto przykład, jak wywołać obraz onload http://jsfiddle.net/2CsfZ/2/
Podstawowym pomysłem jest utworzenie dyrektywy i dodanie jej jako atrybutu do tagu img.
JS:
HTML:
źródło
Zmodyfikowałem to trochę, aby
$scope
można było wywołać metody niestandardowe :Dyrektywa:
Mam nadzieję, że ktoś uzna to za BARDZO przydatne. Dzięki @mikach
doThis()
Funkcja będzie wówczas metoda $ zakresźródło
@ Oleg Tikhonov: Właśnie zaktualizowałem poprzedni kod .. @ mikach Dzięki ..)
źródło
Moja odpowiedź:
źródło
Właśnie zaktualizowałem poprzedni kod.
i dyrektywa ...
źródło
Zasadniczo jest to rozwiązanie, z którego korzystałem.
$ apply () powinno być używane przez zewnętrzne źródła tylko w odpowiednich okolicznościach.
Zamiast używać Apply, wrzuciłem aktualizację zakresu na koniec stosu wywołań. Działa tak dobrze, jak „zakres. $ Zastosuj (attrs.imageonload) (true);”.
źródło
$apply()
powinny być używane tylko przez zewnętrzne źródła”? nie nadążam.