Mi collego a un servizio Web e desidero compilare un carosello A Bootstrap con 4 elementi per ogni diapositiva. Sto usando | limitTo: 4, ma ho bisogno di un modo per limitare il 4 per slide del totale 10.Cursore di avvio dell'interfaccia utente angolare Elementi multipli per diapositiva
Ecco la
<div class="row event-slider" ng-controller="eventsController">
<div ng-controller="sliderController">
<carousel interval="interval" class="col-sm-12">
<slide class="col-sm-12">
<div class="col-sm-3 event" ng-repeat="event in eventData | limitTo:4">
<div class="event-inner">
<img ng-src="{{event.image.block250.url}}">
<div class="event-details">
<h4 class="uppercase">{{event.title}}</h4>
<!-- {{event.}} -->
</div>
</div>
</div>
</slide>
</carousel>
</div>
</div>
controller HTML per riferimento
app.controller("eventsController", function($scope, $http) {
var events = $http.get('/events');
events.success(function(data) {
$scope.eventData = data.events["event"];
console.log($scope.eventData);
});
});
Probabilmente c'è una soluzione facile che Im manca utilizzando un filtro ng-repeat. Grazie mille per l'aiuto.
AGGIORNAMENTO: Non sono responsabile per la risposta, ma sarà necessario in un secondo momento (sprint agile). Sto ancora avvolgendo la mia mente attorno al + = nel ciclo, ma funziona bene. Penso di iniziare dal 4 ° oggetto e di risalire da lì ... Grazie ancora per il tuo aiuto.
var events = $http.get('/events');
var i;
events.success(function(data) {
$scope.eventData = data.events["event"];
$scope.slideGroup = [];
for (i = 0; i < $scope.eventData.length; i += 4) {
slides = {
'first' : $scope.eventData[i],
'second' : $scope.eventData[i + 1],
'third' : $scope.eventData[i + 2],
'fourth' : $scope.eventData[i + 3]
};
console.log($scope.slideGroup);
$scope.slideGroup.push(slides);
}
});
HTML:
<carousel interval="interval" class="col-sm-12">
<slide class="col-sm-12" ng-repeat="event in slideGroup">
<div class="col-sm-3 event">
<div class="event-inner">
<img ng-src="{{event.first.image.url}}">
<div class="event-details">
<h4 class="uppercase">{{event.first.title}}</h4>
</div>
</div>
</div>
<div class="col-sm-3 event">
<div class="event-inner">
<img ng-src="{{event.second.image.url}}">
<div class="event-details">
<h4 class="uppercase">{{event.second.title}}</h4>
</div>
</div>
</div>
<div class="col-sm-3 event">
<div class="event-inner">
<img ng-src="{{event.third.image.url}}">
<div class="event-details">
<h4 class="uppercase">{{event.third.title}}</h4>
</div>
</div>
</div>
<div class="col-sm-3 event">
<div class="event-inner">
<img ng-src="{{event.fourth.image.url}}">
<div class="event-details">
<h4 class="uppercase">{{event.fourth.title}}</h4>
</div>
</div>
</div>
</slide>
</carousel>
"Sto usando | limitTo: 4, ma ho bisogno di un modo per limitare il 4 per scorrimento su un totale 10". Intendi dire che hai bisogno di 1-4 sul primo, 5-8 sul secondo e così via? – Blackunknown
@cpk Probabilmente potresti voler utilizzare il valore '$ index' di' ngRepeat' che ti aiuta a determinare in quale posizione ti trovi in un dato momento. Questo potrebbe indirizzarti nella giusta direzione perché potresti confrontare il valore e in base al formato del valore del tuo markup HTML di conseguenza. – developer10
@Blackunknown, sì esattamente. Grazie per la risposta rapida. – cpk