Heim > Web-Frontend > js-Tutorial > Hauptteil

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

Linda Hamilton
Freigeben: 2024-10-25 01:01:30
Original
637 Leute haben es durchsucht

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);
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren
<code class="html"><div class="columns">
  <div ng-repeat="item in ['a','b','c','d','e','f','g']">{{item}}</div>
</div></code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!