首頁 >web前端 >js教程 >如何使用 Bootstrap 將 ng-repeat 資料拆分為三列?

如何使用 Bootstrap 將 ng-repeat 資料拆分為三列?

Linda Hamilton
Linda Hamilton原創
2024-10-25 01:01:30733瀏覽

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

使用 Bootstrap 將 ng-repeat 資料拆分為三列

在 AngularJS 中使用 ng-repeat 時,通常希望將資料排列為多列。本文探討了使用 Bootstrap 將 ng-repeat 資料拆分為三列的不同方法。

控制器中的資料轉換

最可靠的方法是在控制器中轉換資料控制器。這允許您在建立新的分塊資料數組時維護原始資料結構。您可以使用以下函數:

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

在您的視圖中,迭代分塊資料:

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

在視圖中篩選(不建議用於輸入)

雖然可以使用過濾器來顯示分塊數據,但請務必注意,此方法不適合與輸入一起使用。相反,依賴控制器中的資料轉換。

垂直列

對於垂直列佈局,您可以修改CSS 或使用自訂函數來排列元素:

CSS 列(首選)

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

自訂函數

或者,您可以垂直分佈不均勻列表使用自訂函數:

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

以上是如何使用 Bootstrap 將 ng-repeat 資料拆分為三列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn