AngularJS - управление DOM после завершения ng-repeat
У меня возникают некоторые проблемы, связанные с манипулированием DOM после циклического прохождения данных.
У нас есть плагин-слайдер jQuery, который привязан к данным и работает нормально, но при использованииng-repeat
, мы должны обернуть его инициализацию с$timeout
чтобы это работало - и теперь это даже не работает.
Я думаю, используя$timeout
ненадежен, что делает для исправления. В jQuery я мог бы использовать$(document).ready()
- который был твердым, но используяangular.element(document).ready()
похоже, тоже не работает.
Директива ползунка вызывается, но не может получить высоту изображений в ползунке, потому что изображения не были загружены в DOM - в результате чего ползунок имеет вычисленную высоту 0.
Я нахожу это очень расстраивающим в настоящее время - должен быть способ манипулировать DOM после данных (вng-repeat
например) перебрал.
Инициализация слайдера выполняется следующим образом:
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();
};
... и вотдемонстрация воспроизведения.