AngularJS - Manipulando o DOM após a conclusão da repetição de ng
Estou com alguns problemas relacionados à manipulação do DOM depois de percorrer os dados.
Temos um plug-in deslizante jQuery que está vinculado aos dados e funciona normalmente, mas ao usarng-repeat
, precisamos encerrar sua inicialização com$timeout
para que funcione - e agora isso nem está funcionando.
Eu acho que usando$timeout
não é confiável, o que contribui para uma correção ruim. No jQuery eu poderia usar$(document).ready()
- que era sólido, mas usandoangular.element(document).ready()
também não parece funcionar.
A diretiva de controle deslizante é chamada, mas não pode obter a altura das imagens no controle deslizante, porque as imagens não foram carregadas no DOM - resultando no controle deslizante com uma altura calculada de 0.
Estou achando isso muito frustrante no momento - deve haver uma maneira de manipular o DOM após os dados (em umng-repeat
por exemplo) percorreu.
A inicialização do controle deslizante é realizada da seguinte maneira:
var sliderLoad = function () {
$timeout(function () {
var setHeight = elem.find('.slide:eq(0)').outerHeight(true);
elem.css({
height: setHeight
});
}, 1000);
// Show the slider nav buttons
elem.parent().find('.direction-nav').show();
};
... e aqui está umademo de reprodução.