Maison  >  Article  >  interface Web  >  Comment diviser les données ng-repeat en trois colonnes à l'aide de Bootstrap ?

Comment diviser les données ng-repeat en trois colonnes à l'aide de Bootstrap ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-25 01:01:30638parcourir

How to Split ng-repeat Data into Three Columns Using Bootstrap?

Diviser les données ng-repeat en trois colonnes à l'aide de Bootstrap

Lorsque vous travaillez avec ng-repeat dans AngularJS, il est courant de vouloir organiser les données dans plusieurs colonnes. Cet article explore différentes méthodes pour diviser les données ng-repeat en trois colonnes à l'aide de Bootstrap.

Transformation des données dans le contrôleur

L'approche la plus fiable consiste à transformer les données dans le contrôleur. Cela vous permet de conserver la structure de données d'origine tout en créant un nouveau tableau de données fragmentées. Vous pouvez utiliser une fonction comme la suivante :

<code class="javascript">function chunk(arr, size) {
  var newArr = [];
  for (var i=0; i<arr.length; i+=size) {
    newArr.push(arr.slice(i, i+size));
  }
  return newArr;
}

$scope.chunkedData = chunk(myData, 3);

À votre avis, parcourez les données fragmentées :

<code class="html"><div class="row" ng-repeat="rows in chunkedData">
  <div class="span4" ng-repeat="item in rows">{{item}}</div>
</div></code>

Filtre dans la vue (non recommandé pour les entrées)

Bien qu'il soit possible d'utiliser un filtre pour afficher des données fragmentées, il est important de noter que cette méthode ne convient pas à une utilisation avec des entrées. Au lieu de cela, comptez sur la transformation des données dans le contrôleur.

Colonnes verticales

Pour les dispositions de colonnes verticales, vous pouvez modifier le CSS ou utiliser des fonctions personnalisées pour organiser les éléments :

Colonnes CSS (préférées)

<code class="css">.columns {
  columns: 3;
}</code>
<code class="html"><div class="columns">
  <div ng-repeat="item in ['a','b','c','d','e','f','g']">{{item}}</div>
</div></code>

Fonction personnalisée

Alternativement, vous pouvez distribuer des listes inégales verticalement en utilisant une fonction personnalisée :

<code class="javascript">var data = ['a','b','c','d','e','f','g'];
$scope.columns = columnize(data, 3);
function columnize(input, cols) {
  var arr = [];
  for(i = 0; i < input.length; i++) {
    var colIdx = i % cols;
    arr[colIdx] = arr[colIdx] || [];
    arr[colIdx].push(input[i]);
  }
  return arr;
}</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn