Maison > interface Web > js tutoriel > le corps du texte

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

Linda Hamilton
Libérer: 2024-10-25 01:01:30
original
637 Les gens l'ont consulté

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);
Copier après la connexion

À 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>
Copier après la connexion

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>
Copier après la connexion
<code class="html"><div class="columns">
  <div ng-repeat="item in ['a','b','c','d','e','f','g']">{{item}}</div>
</div></code>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!