我正在使用 Bootstrap Angular 轮播,我想要做的是在加载时动态设置活动类。我 mediacontent[slider_url].items
是从后端加载的。我没有任何承诺的方法,否则我会设置,
mediacontent[slider_url].items.active=true;
以下是我用来从后端获取图像数组的工厂(用于无限滚动),
图像数据工厂:
app.factory('ScrollGallery', function($http) {
var Gallery = function(url) {
this.items = [];
this.busy = false;
this.next = url;
this.end = false;
this.extra = {};
};
Gallery.prototype.nextPage = function() {
if (this.busy)
return;
this.busy = true;
if (this.next) {
var url = this.next;
} else {
this.end = true;
this.busy = false;
return;
}
$http.get(url).success( function(data) {
var items = data.results;
var extra = [];
if ( typeof data.extra != 'undefined') {
extra = data.extra;
}
for (var i = 0; i < items.length; i++) {
this.items.push(items[i]);
}
this.extra = extra;
this.next = data.next;
this.busy = false;
if (!data.next)
this.end = true;
this.count = data.count;
}.bind(this));
};
return Gallery;
});
轮播 HTML:
<carousel id="myCarousel" interval="myInterval" on-carousel-change="onSlideChanged(nextSlide, direction)">
<slide ng-repeat="slide in mediacontent[slider_url].items" active="slide.active">
<div ng-if="slider_url=='image'">
<img ng-src="{[{slide.file}]}" alt="{[{slide.file}]}" style="margin:auto;width:250px;height:400px" />
</div>
</slide>
</carousel>
有什么方法可以动态设置活动,请建议。
这个 plunker 我试过了: http ://plnkr.co/edit/VemNkVnVtnaRYaRVk5rX?p=preview