6

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> 
+1

"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

+1

@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

+0

@Blackunknown, sì esattamente. Grazie per la risposta rapida. – cpk

risposta

6

ho provato questo uno che è stato responsively designed in qualche modo a rendere diverso numero di elementi a seconda della risoluzione dello schermo.

http://plnkr.co/edit/QhBQpG2nCAnfsb9mpTvj?p=preview

enter image description here

+1

È venuto da questa domanda http://stackoverflow.com/ questions/26252038/multi-item-responsive-carousel/26456191 # 26456191 –

+0

Realizzato una versione personalizzata di questo per adattarsi alla mia custodia. Grazie mille John. – cpk

+0

John, rapida domanda di follow up .... Sto riempiendo ogni diapositiva con 4 div con molti binding, oltre a più istanze di slider. C'è un modo per rendere questo meno dettagliato? Sto bene lavorando così com'è, ma per riferimento futuro potrebbe essere utile saperlo. Grazie ancora. – cpk

Problemi correlati