Répondre

16

Vous pouvez regrouper les images ensemble et ng-repeat sur ces images regroupées au lieu. Mis à part quelques corrections de style nécessaires, voici comment:

http://plnkr.co/edit/5JFeZgTup7abIsjxOeqi?p=preview

HTML:

<carousel interval="myInterval"> 
    <slide ng-repeat="slideCollection in groupedSlides" active="slide.active"> 
    <div> 
     <img ng-src="{{slideCollection.image1.image}}" style="margin:auto;">  
     <img ng-src="{{slideCollection.image2.image}}" style="margin:auto;">  
    </div> 
    </slide> 
</carousel> 

JavaScript:

$scope.$watch('slides', function(values) { 
    var i, a = [], b; 

    for (i = 0; i < $scope.slides.length; i += 2) { 
    b = { image1: $scope.slides[i] }; 

    if ($scope.slides[i + 1]) { 
     b.image2 = $scope.slides[i + 1]; 
    } 

    a.push(b); 
    } 

    $scope.groupedSlides = a; 
}, true); 
+0

Vous monsieur, sont impressionnants! Ça a marché comme sur des roulettes. J'aime Angular jusqu'ici. Question rapide - comment ajouter une bordure lorsque je survole une image? Juste utiliser CSS? Si j'avais besoin de modifier le CSS existant, ai-je besoin de télécharger le fichier bootstrap.css localement, puis de faire les changements (pas plus de CDN)? – tempid

+1

Vous devriez pouvoir utiliser le sélecteur ': hover' dans css pour ajouter la bordure, donc comme' img: hover {border: 1px solid red; } '. Et vous n'avez pas besoin de télécharger le fichier bootstrap.css et de le modifier, vous pouvez éditer votre propre fichier css localement et l'inclure après bootstrap.css pour écraser ce que vous voulez. – Langdon

+0

Merci pour votre temps. Ça a du sens. – tempid

Questions connexes