Tenho imagens parecidas <img ng-src="dynamically inserted url"/>
. Quando uma única imagem é carregada, preciso aplicar o método iScroll refresh () para tornar a imagem rolável.
Qual é a melhor maneira de saber quando uma imagem está totalmente carregada para executar algum retorno de chamada?
javascript
html
angularjs
Sergei Basharov
fonte
fonte
Respostas:
Aqui está um exemplo de como chamar onload de imagem http://jsfiddle.net/2CsfZ/2/
A ideia básica é criar uma diretiva e adicioná-la como atributo à tag img.
JS:
HTML:
fonte
Eu modifiquei um pouco para que os
$scope
métodos personalizados possam ser chamados:A diretiva:
Espero que alguém ache MUITO útil. Obrigado @mikach
A
doThis()
função seria então um método $ scopefonte
@ Oleg Tikhonov: Acabei de atualizar o código anterior .. @ mikach Obrigado ..)
fonte
Acabei de atualizar o código anterior ..
e diretiva ...
fonte
Minha resposta:
fonte
Basicamente, essa é a solução que acabei usando.
$ apply () só deve ser usado por fontes externas nas circunstâncias certas.
em vez de usar apply, lancei a atualização de escopo para o final da pilha de chamadas. Funciona tão bem quanto "scope. $ Apply (attrs.imageonload) (true);".
fonte
$apply()
só deve ser usado por fontes externas"? eu não estou acompanhando.