Heim  >  Artikel  >  Web-Frontend  >  Wie teile ich ng-repeat-Daten mithilfe von Bootstrap in drei Spalten auf?

Wie teile ich ng-repeat-Daten mithilfe von Bootstrap in drei Spalten auf?

Linda Hamilton
Linda HamiltonOriginal
2024-10-25 01:01:30638Durchsuche

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

NG-Repeat-Daten mithilfe von Bootstrap in drei Spalten aufteilen

Bei der Arbeit mit ng-Repeat in AngularJS ist es üblich, Daten in mehreren Spalten anzuordnen. In diesem Artikel werden verschiedene Methoden zum Aufteilen von ng-repeat-Daten in drei Spalten mithilfe von Bootstrap untersucht.

Datentransformation im Controller

Der zuverlässigste Ansatz besteht darin, die Daten im zu transformieren Regler. Dadurch können Sie die ursprüngliche Datenstruktur beibehalten und gleichzeitig ein neues Array mit Chunked-Daten erstellen. Sie können eine Funktion wie die folgende verwenden:

<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);

In Ihrer Ansicht iterieren Sie über die aufgeteilten Daten:

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

Filter in der Ansicht (nicht für Eingaben empfohlen)

Obwohl es möglich ist, einen Filter zum Anzeigen von Datenblöcken zu verwenden, ist es wichtig zu beachten, dass diese Methode nicht für die Verwendung mit Eingaben geeignet ist. Verlassen Sie sich stattdessen auf die Datentransformation im Controller.

Vertikale Spalten

Für vertikale Spaltenlayouts können Sie das CSS ändern oder benutzerdefinierte Funktionen verwenden, um die Elemente anzuordnen:

CSS-Spalten (bevorzugt)

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

Benutzerdefinierte Funktion

Alternativ können Sie ungleiche Listen vertikal verteilen Verwenden einer benutzerdefinierten Funktion:

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

Das obige ist der detaillierte Inhalt vonWie teile ich ng-repeat-Daten mithilfe von Bootstrap in drei Spalten auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn