<div class="owl-carousel">
<div ng-repeat="items in itemlist">
<a href="series.html"><img ng-src="{{items.imageUrl}}" /></a>
</div>
<div>
<a href="series.html"><img src="http://placehold.it/350x150" /></a>
</div>
</div>
Просмотр карусели здесь: Сова-карусель2
Я столкнулся с проблемой, когда всякий раз, когда директива ng-repeat применяется к карусели, элементы располагаются вертикально, а не горизонтально.
Если я оставлю ng-repeat и использую статические элементы, то он работает так, как должен.
Есть ли директива, которую я могу написать и применить к сова-карусель для поддержки макета?
И что такое ng-repeat, вызывающий разрывание карусели?
Является ли angular каким-то образом лишающим классы совы-карусели, примененными к карусели?
Примечание. * Если вы создадите список вручную, повторите и добавьте элементы, используя:
var div = document.createElement('div');
var anchor = document.createElement('a');
var img = document.createElement('img');
.....
carousel.appendChild(div);
затем вызовите owl.owlCarousel({..}). Он работает, не уверен, что это лучшая работа, потому что ng-repeat упрощает все бит.
Я обнаружил хак, если я завершаю инициализацию совы в таймаут, тогда работает ng-repat.
setTimeout(function(){
...call owl init now
},1000);
<link rel="stylesheet" href="css/owl.carousel.css"/>
<link rel="stylesheet" href="css/owl.theme.default.min.css"/>
.....
<script src="/js/lib/owl.carousel.min.js"></script>
<script>
$(document).ready(function() {
var owl = $('.owl-carousel');
owl.owlCarousel({
.....
});
owl.on('mousewheel', '.owl-stage', function(e) {
if (e.deltaY > 0) {
owl.trigger('next.owl');
} else {
owl.trigger('prev.owl');
}
e.preventDefault();
});
})
</script>